我们如何通过jquery比较(通过类比较)2 ul列表项,我可以通过循环执行此操作,但我想要最好的方法(使用一些jquery方法)?
答案 0 :(得分:3)
Hiya喜欢这样的男人: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 :(得分:1)
var list1 = $(...), list2 = $(...);
要比较长度,请使用list1.length
和list2.length
要比较元素的文本,最简单的方法可能是将它们存储在数组中:
var texts1 = list1.children('li').map(function() { return $(this).text() }).get();
var texts2 = list2.children('li').map(function() { return $(this).text() }).get();