如何按行搜索并替换该行的内容

时间:2018-09-12 18:28:43

标签: javascript jquery

Fiddle

$(".my-item").each(function() {
    var lines = $(this).text().split("\n");
  var k = "";

  $.each(lines, function(n, elem) {
    if (elem.trim().length > 0) {
      if (elem.indexOf('my info1 & test') !== -1) {
        alert("in here");
        debugger;
        elem.replace('959', '600');
        alert(elem);
      }
    }
  });
});

当我按行搜索并且满足条件时,我想替换DOM中的文本,但是它不起作用...

任何帮助,请...

1 个答案:

答案 0 :(得分:2)

Working fiddle

您可以将这些行存储在一个数组变量中(在我的示例中为result),然后使用join()将它们与新行结尾,最后将它们替换为DOM:

$(this).text(result.join("\n"));

$(".my-item").each(function() {
  var lines = $(this).text().split("\n");
  var result = [];

  $.each(lines, function(n, elem) {
    if (elem.trim().length > 0) {
      if (elem.indexOf('my info1 & test') !== -1) {
        elem = elem.replace('959', '600');
      }
    }

    result.push(elem);
  });

  $(this).text(result.join("\n"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<dd class="my-item" style="height: 44px;">
  my info1 &amp; test 959 my info2 &amp; test 1200 my info3 &amp; test 450 my info4 &amp; test 908
</dd>