[英]JQuery - Selecting nested elements by class
我想通过类名选择li
元素,但是它不能按我的要求工作。 请参见以下代码:
var HTML = '<div class="product">' +
'<ul class="listing">' +
'<li class="item">1</li>' +
'<li class="item">2</li>' +
'<li class="item">3</li>' +
'<li class="item">4</li>' +
'<li class="item">5</li>' +
'</ul>' +
'</div>';
alert($(HTML).find('.product .listing .item').html()); //does not work
alert($(HTML).find('.listing .item').html()); //WORKS!
为什么我无法选择商品产品类别?
由于.product
是所选元素之一,因此它是顶级元素。 .find
将设法找到类元素product
里面 .product
元素。
也许您正在寻找.filter
:
将匹配元素的集合减少到与选择器匹配或通过功能测试的元素。
alert($(HTML).filter('.product').find('.listing .item').html());
jQuery find
查找当前jQuery选择的后代。 在这种情况下, $(HTML)
已经是具有product
类的div
,因此.find('.product .listing .item')
将查找具有product
类的顶级div
后代。 在这种情况下,使用.find('.listing .item')
是正确的。
我不确定这是您要找的东西吗?
var HTML = '<div class="product">' +
'<ul class="listing">' +
'<li class="item">1</li>' +
'<li class="item">2</li>' +
'<li class="item">3</li>' +
'<li class="item">4</li>' +
'<li class="item">5</li>' +
'</ul>' +
'</div>';
alert($('.item', HTML));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.