用JavaScript

时间:2016-12-16 04:37:51

标签: javascript jquery html

我正在迭代一个类的每个元素,而我用粗体标记替换所有**。

然而,它并没有按我的意愿输出。我使用了窗口警报,并进行了检查,正则表达式正在正确转换它,但是$(this).html = txt似乎不起作用。我尝试过使用innerHTML,val。似乎没什么用。

注释掉的代码确实有用,但是我不能引用所有的Id,因为可以添加新的代码,因此我遍历了类的每个元素。

    $(document).ready(function () {
    setTimeout(function(){
        var bold = /\*\*(\S(.*?\S)?)\*\*/gm;
        $(".grid-text").each(function() {
            var currentElement = $(this).html();
            var txt = currentElement.replace(bold, '<strong>$1</strong>');
            $(this).html= txt;
        });
        // var s = document.getElementById("001_1_1").innerHTML;
        // var txt = s.replace(bold, '<strong>$1</strong>');
        // document.getElementById("001_1_1").innerHTML = txt;
    }, 3000);
});

2 个答案:

答案 0 :(得分:2)

.html是一个函数:

$(this).html(txt);

答案 1 :(得分:1)

尝试将txt作为参数传递给.html()函数:

$(this).html(txt);