2014-02-17 75 views
2

目前有一個像這樣的循環遍歷每個li,並在li中查找某些內容並添加一個類。問題是佈局具有多個UL,即所以我希望它在每個UL中找到li。現在它停止第一個瞬間,它找到與我的IF標準相匹配的任何li。 HTML的jquery循環遍歷每個li的每個ul

var list = $('.sampleAddress li span'); 
    $(list.get().reverse()).each(function() { 
    var currentLine = $(this).html(); 
    var unmatched = unmatchedLine; 
    if (currentLine.indexOf(unmatched) !== -1) { 
     $(this).html($(this).text().replace(" ", " ").replace("&", "&AMP;").replace(unmatchedLine.toUpperCase(), '<span class="matchedClass">' + unmatchedLine.toUpperCase() + '</span>')); 
      return false; 
     } 
    }); 

佈局如下

<ul class="boxSlider"> 
<li> 
    <ul class="sampleAddress"> 
    <li><span>something</span></li> 
    <li><span>something</span></li> 
    <li><span>something</span></li> 
    </ul> 
</li> 
<li> 
    <ul class="sampleAddress"> 
    <li><span>something</span></li> 
    <li><span>something</span></li> 
    <li><span>something</span></li> 
    </ul> 
</li> 
</ul> 
+0

恰恰是這個循環在幹什麼?你在找什麼? –

回答

5

使用單獨的迴路的ul

$('.sampleAddress').each(function() { 
    var list = $(this).find('li span'); 
    $(list.get().reverse()).each(function() { 
     var currentLine = $(this).html(); 
     var unmatched = unmatchedLine; 
     if (currentLine.indexOf(unmatched) !== -1) { 
      $(this).html($(this).text().replace(" ", " ").replace("&", "&AMP;").replace(unmatchedLine.toUpperCase(), '<span class="matchedClass">' + unmatchedLine.toUpperCase() + '</span>')); 
      return false; 
     } 
    }); 
}) 
+0

完美..謝謝 – StevieB