2014-02-17 325 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