我必须遵循以下结构:
<div class='xx'>
That is awesome!!
<a href="http://www.his-stuff.com">yodel</a>
</div>
<div class='xx'>
can't touch this
</div>
现在我想要替换所有“是”的出现,无论他们是否独自站立。 我这样做了:
$('.xx').each(function()
{
$(this).html($(this).html().replace("is","was"));
});
我想要以下结果:
太棒了 - &gt;那太棒了
无法触及此 - &gt;无法触及
这样可行,但包含“是”的网址也已修改
www.hwas-stuff.com
我不希望更换网址,而是其他所有网址
信息 我不能使用text()代替html(),因为“真实”代码有点复杂(插入图片而不是文字)
答案 0 :(得分:1)
试试这个:
$('.xx').contents().filter(function() {
return this.nodeType == Node.TEXT_NODE && this.nodeValue.trim() != '';
}).each(function() {
this.nodeValue = this.nodeValue.replace('is','was');
});
我在Stack Overflow上提出的一个问题:https://stackoverflow.com/a/11167387/1420186
答案 1 :(得分:0)
你可以这样做:
<div class='xx'>
That is awesome!!
</div>
<a href="http://www.his-stuff.com">yodel</a>
或:
<div class='the-style'>
<div class='xx'>
That is awesome!!
</div>
<a href="http://www.his-stuff.com">yodel</a>
</div>
或:
<div class='foo bar'>
<span class='is-was'>That is awesome!!</span>
<a href="http://www.his-stuff.com">yodel</a>
</div>
我会优先考虑你如何构建你的html&amp; amp;你的方法,而不是试图找到一些时髦的方法来修补问题,而不是真正修复它。你未来的自我会更加欣赏你。
创建类时,请确保它们执行非常具体(封装)的作业并使名称具有描述性,如果查看twitter引导程序库,它就是一个很好的例子。