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

标签 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 中的文本,但它不起作用...

任何帮助,请...

最佳答案

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>

关于javascript - 如何按行搜索并替换该行的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52301395/

相关文章:

javascript - 从服务器的 AJAX 请求返回的数组(编码和解析的 JSON)是否具有 'results' 属性?

javascript - Codeigniter ajax 调用无法正常工作

Javascript使用php中的switch case从mysql数据库检索数据

javascript - 如何在 Javascript/Node 中的异步函数上调用 Await 后超时

php - 根据之前的表单输入和来自 MySQL 的数据填充下拉列表

javascript - 有没有办法在 ASP.Net 页面中悬停在 html 元素上时更改它

javascript - Nashorn + React Js 用于服务器端渲染的生产建议

javascript - 鼠标悬停前查找元素的原始颜色

javascript - jQuery Mobile 对话框不会出现在 AJAX 请求上

jquery - float left div 中相对定位的元素