替换方法工作没有HTML格式,但格式

时间:2016-09-07 15:11:06

标签: javascript jquery

我试图在用户点击单元格值时替换文本的颜色。似乎当我尝试在我的html中使用格式时,它停止工作,但是,它完全正常,没有格式化。 JSFiddles将帮助您理解我正在采取的措施。在此之前,我想提几件事:

  1. 当我没有格式化时,我只是使用

    <div id='jqxPanel' style=" font-size: 13px; font-family: Verdana;"> My content here </div>var text = panel.text();

  2. 当我使用格式化时,我正在使用

    <div id='jqxPanel' style=" font-size: 13px; font-family: Verdana;"><div style="margin: 10px;"><pre>My content here </pre></div></div>var text = panel.html();

  3. 以下是没有任何格式的工作JSFiddle和具有格式功能的非工作JSFiddle。如何使非工作JSFiddle正常工作,以便我可以看到突出显示的文本?

1 个答案:

答案 0 :(得分:1)

我更新了您的JSFiddle

$("#jqxgrid").on("cellclick", function (event) 
                   {
    var value = event.args.value;
    var color = "#FF0000";
    var highlighted =                  
        text.replace( new RegExp(value, 'ig' ), '<span style="color:' + color + ';">' + value + '</span>');

    panel.jqxPanel('clearcontent');
    panel.jqxPanel('append', highlighted);
  });  

你试图取代“某事”而不是“某事”(注意空白)。而且你在搜索字符串和替换中都这样做。

此外,替换功能区分大小写。我添加了一个RegExp,使其不区分大小写。

但是,这只是一个例子,您可以看到它用按钮的情况替换了文本,因此“PATIENT”将突出显示“患者”。