假设我有一个HTML源代码,如下所示:
<a href="http://google.com">Google</a>
<a href="http://yahoo.com">Yahoo</a>
<a href="http://msn.com">MSN</a>有没有办法让我用Javascript用xPath修改这个HTML源:找到所有的锚点,在它们前面加上文本,然后用一个警告框显示新的HTML源?
<a href="http://google.com">Visit Google</a>
<a href="http://yahoo.com">Visit Yahoo</a>
<a href="http://msn.com">Visit MSN</a>发布于 2011-06-14 21:41:44
如上所述,XPath不能有效地处理未解析的字符串。
因此,一种方法是将某个元素(例如,不可见的)的innerHTML设置为您的HTML源字符串。
这将导致源代码被解析为DOM树。然后,您可以使用myDiv.getElementsByTagName('a')或jQuery $('a',myDiv)来查找链接。(您甚至可以使用XPath .//a,但既然更简单的工具也可以使用,为什么还要使用更复杂的工具呢?)
然后,一旦你修改了字符串,比如有人说使用jQuery $('a', myDiv).prepend("Visit ");,你就可以通过检索不可见div的innerHTML属性来输出修改后的超文本标记语言。
https://stackoverflow.com/questions/6337933
复制相似问题