我有大型文本容器,我想使用jquery进行比较和突出显示它们。这里回答的问题highlight a word with 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获取内容?即。
$("#similar1").highlight($('#source').val());
答案 0 :(得分:4)
.val()
只能用于输入字段,例如文本字段,下拉列表,e.t.c。
您应该使用.text()
或.html()
来获取div/span/e.t.c
尝试以下,
$("#similar1").highlight($('#source').text());
答案 1 :(得分:2)
使用classes和text():
<div id="similar1" class="similar">Lorem ipsum dolor</div>
<div id="similar2" class="similar">consectetuer adipiscing elit</div>
$(".similar").highlight($('#source').text());
答案 2 :(得分:0)
您可以一次选择多个元素。
$("#similar1, #similar2").highlight("Lorem ipsum dolor sit amet, consectetuer adipiscing elit.");
您还可以使用.text()
获取div的文本内容。
$("#similar1, #similar2").highlight($("#source").text());