[英]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.