我想用它的innerHTML替换一个链接,它是如何完成的?使用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]。这返回undefined。所以也许链接是textnode的一个节点。没有! 我正在抓取这些数据并删除JSON,以避免可能出现的问题。走在DOM在响应的其余部分进展顺利,但..
然而,当我提醒
$('text').childElements()[0]
实际HREF获取的警告! (本地主机//链接/ Go_%28To%29)
$('text'.childElements()[0] .UP()让我到实际TD父元素。
所以我用
if($('text').childElements()[0])
要请检查是否包含文本的链接。
我想这变得有点离题,但我其实不能得到一个元素的权利。任何提示? 也许正则表达式是最好的选项?
你有没有什么参考点?就像一个包装的跨度或div,或者可能是链接的ID,如果它有一个? – thismat 2009-11-06 21:41:19
您是否有任何要求保留链接本身可能存在的任何html?例如'foo'? – 2009-11-07 03:14:14
不,没有链接里面有html的情况。 – richard 2009-11-07 08:38:27