jQuery循环覆盖HTML

时间:2017-04-21 11:35:46

标签: jquery html text each overwrite

我有一个网站,有很多段落。

我想基于JSON文件中的术语突出显示某些单词。

我设法让它工作,但它只是突出显示字典的最后一个字,因为最后一个循环不断覆盖html。

我尝试了几种解决方案,因为问题的根源很简单,但我经常失败,但没有一种能够解决问题。

你有什么想法,我在哪里可以开始寻找?

这是jQuery / JS:

$( document ).ready(function() {

    var dictionary = <?php echo($dictionary)?>;
    dictionary = jQuery.parseJSON(dictionary);

    $('p').each(function() {
        var parse = $(this);

        $.each(dictionary, function( index, value ) {
                var str = parse.text();

                parse.html( str.replace(value,'<u>' + value + '</u>'));
        });
    });
});

代码的性能也让我感到担忧,但是一旦解决了,我就会为之奋斗。

编辑:

JSON非常简单:

[
 {"term1":"value1"},
 {"term2":"value2"},
 ...
]

编辑2:

段落在php循环中生成,产生如下结构:

Container
  row
    p
    p
    p
    ...

编辑3:

终于在服务器中解决了,用一个超级简单的php foreach循环。

0 个答案:

没有答案