如何在追加后删除不必要的html?

时间:2014-07-04 03:08:32

标签: javascript jquery

var split = $('.split-locations').text().split('\n');
for (var i = 0; i < split.length; i++) {
   $('.split-locations').append("<pre>"+split[i]+"</pre>");
}

<div class="split-location">
Singapore
USA
Aussie
</div>

在个人资料中,用户键入每个地址的输入,但问题是保存时,地址将显示在网页上:

Singapore USA Aussie
<pre>Singapore</pre>
<pre>USA</pre>
<pre>Aussie</pre>

我不确定为什么文本(新加坡美国澳大利亚人)仍在那里。只想显示:

<pre>Singapore</pre>
<pre>USA</pre>
<pre>Aussie</pre>

如何删除<pre>之前的第一行?或者如何用pre bunch替换文本?

更新

还有一件事:如何打印第一个数组外部循环,因为需要先显示一个外部循环,然后将其余的数组放入手风琴中? 这里的代码是:让你了解我想要做什么。看到评论。

 var location = $('.split-locations');
    var split = $('.split-locations').text().split('\n');
    location.empty();
    //need to print first location

    location.append('<div class="accordion-location">');
    for (var i = 0; i < split.length; i++) {
      //print remaining location after minus first location
       location.append("<pre>"+split[i]+"</pre>");
    }
    location.append('</div>');
    });

2 个答案:

答案 0 :(得分:2)

在附加pre个节点之前,需要清空容器元素。试试这个。

var split = $('.split-locations').text().split('\n');
$('.split-locations').empty();
for (var i = 0; i < split.length; i++) {
   $('.split-locations').append("<pre>"+split[i]+"</pre>");
}

答案 1 :(得分:1)

您需要清除该位置:

var split = $('.split-locations').text().split('\n');
$('.split-locations').empty();
for (var i = 0; i < split.length; i++) {
   $('.split-locations').append("<pre>"+split[i]+"</pre>");
}

更新

var $el = $('<div class="accordion-location"></div>');
for (var i = 0; i < split.length; i++) {
   $el.append("<pre>"+split[i]+"</pre>");
}
location.append($el);