【发布时间】:2013-05-29 00:40:01
【问题描述】:
我们想在页面上找到一个字符的每个实例(特别是•),然后将它包装在一个跨度中,以便我们可以设置它们的样式。它们可能存在于各种元素中,多次出现在 DOM 中:<nav/>、<h1/>、<p/> 等。
我们已经尝试了这里找到的一种方法,该方法与匹配字符串并围绕它包装一个跨度有关,但它似乎只匹配并包装任何给定元素中的第一个实例,而忽略同一元素中的任何后续实例。例如,对于<p>•</p> <p>•</p>,两者都被匹配和包装,但<p>blah • blah • blah • blah</p>,只有第一个被匹配和包装。
这是我们尝试过的:
$('*:contains("•")').each(function() {
if($(this).children().length < 1)
$(this).html($(this).text().replace('•','<span class="bullets">•</span>'))
});
不确定它是否与if 行有关...这是我们唯一模糊的部分。然而,并没有特别投入这种方法,所以如果有更清洁的东西,让我们听听!
【问题讨论】: