我想用它的innerHTML替换一个链接,它是怎么做的?
例子:
Bla bla bla <a href="#nogo">No link here</a> bla bla bla
必须成为
Bla bla bla No link here bla bla bla
试图用它的innerHTML替换节点,但我无法在节点本身中获取文本..
我想我必须使用正则表达式,但我不知道如何。
编辑:谢谢大家的快速回复!我似乎仍然无法正确处理。似乎还有更多的事情发生。
我也在使用原型 js。
我得到了一些可能包含链接的文本。如果文本包含链接,则应将其替换为 innerHTML。它看起来像这样:
<td id="text">This is some text <a href="/link/Go_%28To%29" title="Go (to)">goto</a>. Some more text.</td>
我尝试使用 hasChildNodes() 检查文本是否包含链接,但它总是返回是,即使文本不包含链接或其他元素。所以我想也许文本也被认为是一个节点并尝试了 childElements[1]。那返回未定义。所以也许链接是文本节点的一个节点。没有!我正在抓取这些数据并评估 JSON,所以奇怪之处可能来自于此。不过,在响应的其余部分中遍历 DOM 进展顺利。
但是,当我提醒
$('text').childElements()[0]
实际的href得到警报!(localhost//链接/Go_%28To%29)
$('text'.childElements()[0].up() 让我找到实际的 td 父元素。
所以我正在使用
if($('text').childElements()[0])
检查文本是否包含链接。
我想这有点离题,但我实际上无法正确理解 a 元素。有小费吗?也许正则表达式是最好的选择?