循环遍历jQuery中的nextSibling节点值混淆

时间:2014-08-13 15:12:47

标签: javascript jquery

HTML

<p>p</p>
<br>br1
<br>br2
<br>br3

我得到3次警报而不是1次,为什么?从那以后

$( function() {
    console.log($('p').text());
    $( 'br' ).each( function() {
        if(this.nextSibling.nodeValue = 'br1'){
            alert('found');
        }
    });
});

我想要做的是在找到nodevalue时删除该行,如果可以找到br1则删除<br>br1

1 个答案:

答案 0 :(得分:3)

这是因为如果您使用的是=而不是==。 &安培;你还应该检查newLine字符。我在这里假设\n

这一行

if(this.nextSibling.nodeValue = 'br1')

应该是

if(this.nextSibling.nodeValue == 'br1\n')

正如@antyrat所说,只需使用remove

 $( this.nextSibling ).remove();
 $( this ).remove();

FOR CONTAINS

if(this.nextSibling.nodeValue.indexOf('br')>-1){}