jQuery删除部分文本

3
我能使用jQuery来删除
中的一部分文本吗?
例如:
<div class="entry">
Published May 18th 2011 - Approuved - Expire May 18 th 2012<br>Source: SuperSite
</div>

我想要移除已批准 - 有效期至2012年5月18日

因此结果应该是:

 <div class="entry">
    Published May 18th 2011 <br>Source: SuperSite
    </div>

该 div 的内容是动态的还是静态的? - Yasser Souri
动态日期为“2011年5月18日”、“2012年5月18日”,以及“超级网站”。 - user472285
3个回答

8

您可以使用jQuery来选择您的元素/HTML,但是JavaScript有一个内置函数replace,可以满足您的需求:

$('div.entry').html($('div.entry')
                          .html()
                          .replace('Approuved - Expire May 18 th 2012', ''))

或者使用RegExp

如果你想要替换的始终以Approuved - Expire开头:

$('div.entry').html($('div.entry')
                          .html()
                          .replace(/Approuved - Expire[^<]*/, ''))

2

试试这个:

$(".entry").html(function(i, htm){
   return htm.split("-")[0];
});

如果您想处理节点内部的html并重置它,html()也可以传递一个函数。这里有一个在jsfiddle上的演示:http://jsfiddle.net/nKJWn/


1
我想保留源代码:SuperSite。 - user472285

0
$(".entry").html(($(".entry").html().replace("Approuved - Expire May 18 th 2012","")))

日期“2012年5月18日”是动态的。 - user472285

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接