如何在HTML jQuery JavaScript中删除不需要的字符

时间:2018-08-29 13:38:02

标签: javascript jquery html

我正在尝试从HTML中删除这些","。我尝试了.replace(",", "").join()和其他方法,但没有成功。

这是控制台和我的页面上的样子,请注意逗号: enter image description here

这是我的代码:

        var featuresArray = jQuery(".Features").siblings().children("p").text().replace(",", "").split("\n");

        var boom =  featuresArray.map(function (item, index) {              
          return '<li>'+item+'</li>';
          });
        var features = boom;


        printWindow.document.write("<p class='product-attribute'>"+'Features: ' + '<ul class="product-attribute-details">' + features + "</ul></p>");

如何从UL中删除这些逗号?

2 个答案:

答案 0 :(得分:3)

问题是因为您直接将数组与HTML字符串连接在一起。这样,它将调用toString()。这实际上是在做.join(',')。这就是为什么逗号出现在li元素之间的原因,如您在基本示例中所见:

var foo = ['a', 'b', 'c'];
console.log(foo.toString());

要解决此问题,请在串联时手动在阵列上调用join('')

printWindow.document.write('<p class="product-attribute">Features: <ul class="product-attribute-details">' + features.join('') + '</ul></p>');

请注意,我在上一行中使引号一致,并且还删除了您在几个地方进行的不必要的串联

答案 1 :(得分:0)

在将数组写入HTML之前,在数组上使用.join('')

由于数组不是字符串,因此JS在将其与字符串连接时会调用该数组的默认.toString()函数,这会导致多余的逗号出现在HTML中:

var ary = [ 1, 2, 3 ];

document.write( ary );
document.write('<br>');
document.write( ary.join( '' ) );