使用jquery突出显示类似的文本

时间:2012-09-11 15:38:39

标签: javascript jquery

我有大型文本容器,我想使用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());

3 个答案:

答案 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());