1

我有大型文本容器,我想使用 jquery 比较和突出显示它们。这里回答的问题用 jquery 突出显示一个单词是完美的,除了它包含重复的文本。这是一个例子

<div id="source">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</div>
<div id="similar1">Lorem ipsum dolor</div>
<div id="similar2">consectetuer adipiscing elit</div>

现在我想将similar1 和similar2 与源div 匹配。上述链接中的解决方案建议使用以下代码:

 $("#similar1").highlight("Lorem ipsum dolor sit amet, consectetuer adipiscing elit.");
 $("#similar2").highlight("Lorem ipsum dolor sit amet, consectetuer adipiscing elit.");

如您所见,我每次都必须重复源文本。是否可以直接从源 div 获取内容?IE

 $("#similar1").highlight($('#source').val());
4

3 回答 3

4

.val()应仅用于输入字段,例如文本字段、下拉列表等

您应该使用.text()or.html()来获取元素的内容,例如div/span/e.t.c

试试下面,

$("#similar1").highlight($('#source').text());
于 2012-09-11T15:39:49.923 回答
2

使用类和文本():

<div id="similar1" class="similar">Lorem ipsum dolor</div>
<div id="similar2" class="similar">consectetuer adipiscing elit</div>


$(".similar").highlight($('#source').text());
于 2012-09-11T15:40:04.837 回答
0

您可以一次选择多个元素。

$("#similar1, #similar2").highlight("Lorem ipsum dolor sit amet, consectetuer adipiscing elit.");

您还可以使用.text()来获取 div 的文本内容。

$("#similar1, #similar2").highlight($("#source").text());

于 2012-09-11T15:41:51.497 回答