繁体   English   中英

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

[英]remove text from string array with javascript/jquery

使用.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);

实时收藏具有一些优势。 :-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM