我们如何通过 jquery 比较(通过类比较)2 ul listitems,我可以通过循环来做到这一点,但我想要最好的方法来做到这一点(使用一些 jquery 方法)?
问问题
1730 次
2 回答
3
嗨,像这样的人: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/>
于 2012-05-26T10:41:39.453 回答
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();
于 2012-05-26T10:38:00.077 回答