2012-05-26 16 views
0

我們如何比較(通過類比較)2 ul列表項通過jQuery,我可以通過循環做到這一點,但我想要最好的方式來做到這一點(使用一些jquery方法)?比較jQuery中的2個ul列表項?

+5

比較他們在哪些方面? 'text()','length','height()'...在這裏和我們一起工作。 –

+0

在文本()中比較項目的數量 – gaurav

回答

2

你好是這樣的人:http://jsfiddle.net/AzZHy/

您將創建一個主列表,然後比較,

請不要投票讓我知道如果這不是你想要的。

jQuery代碼

var master = []; 

// Identify the master values. 
$('ul').first().find('li').each(function(index,value) { 
    master.push($(this).text()); 
}); 

$('ul:not(:first)').each(function(ulIndex) { 
    $(this).find('li').each(function(index) { 
     if(master[index] != $(this).text()) { 
      $(this).addClass('mismatch');   
     } 
    }); 
});​ 

HTML

<ul> 
    <li>hulk</li> 
    <li>ironman</li> 
    <li>bazinga</li> 
    <li>thor</li> 
    <li>rambo</li> 
</ul> 
<br /> 
<ul> 
    <li>hulk</li> 
    <li>ironman</li> 
    <li>Zooyork</li> 
    <li>thor</li> 
    <li>rambo</li> 
</ul> 
<br/> 

​ 
1
var list1 = $(...), list2 = $(...); 

要比較長度,請使用list1.lengthlist2.length
爲了比較元素的文本,最簡單的方法可能是將它們存儲在陣列:

var texts1 = list1.children('li').map(function() { return $(this).text() }).get(); 
var texts2 = list2.children('li').map(function() { return $(this).text() }).get();