使用javascript/jquery从字符串数组中删除文本

remove text from string array with javascript/jquery

本文关键字:数组 删除 文本 字符串 javascript jquery 使用      更新时间:2023-09-26

使用.each()遍历数组,并尝试使用replace()找到所有的" <br> "并替换为" "(非常简单),但没有发生任何事情-没有错误,它只是不替换。

//get values of each td in row
var values = '';
var tds = $(this).find('td');
$.each(tds, function(index, tditem) {
    values = values + "td" + ':' + tditem.innerHTML + ''n';
    values = values.replace(/<br>/i, " ");
});

认识到操作DOM元素(并选择其中一个答案作为正确答案)会更好,我最终将其添加到我的函数中,因为它只是在短期内使我的工作更轻松:

values = values.replace(/<br>/i, " ");
由于@all

您不需要进行字符串处理来实现此结果。下面是最好的(正确的)方法:

$(this).find('td br').remove();

一般规则是:始终使用DOM来访问和操作元素,避免对此类操作进行字符串分析。


编辑:

如果您不想更改真正的DOM元素,只需将其克隆为如下变量:

var HTML = '';
var tds = $(this).find('td').clone();
$(tds).find('br').remove();
HTML = $(tds).html();
alert(HTML);

应该使用DOM方法来删除DOM元素,例如:

function removeBRs(el) {
  var brs = el.getElementsByTagName('br');
  while (brs.length) {
    el.replaceChild(document.createTextNode(' '), brs[0]);
  }
}

调用:

removeBRs(this);

活动集合有一些优点。: -)