我有一些看起来像这样的HTML:
<div class="block">
<div id="item1"></div>
<div id="item2"></div>
</div>
<div class="block">
<div id="item3"></div>
</div>
我正在尝试检查我的div是否包含特定元素。我需要遍历每个块,然后获取每个项目。
到目前为止我得到了什么
$('.block:has(div)').each(function() {
// do something with the block
});
哪个好,因为它会返回所有包含项目的块。但我需要的是
$('.block:has(div)').each(function() {
$('current place in loop' + li).each(function() {
// do something with each item element, before the block loop has finished
});
});
有什么想法吗?
答案 0 :(得分:3)
我希望你的意思是:
$('.block').each(function(){
$(this).find('div').each(function(){
//do your stuff
});
});
答案 1 :(得分:2)
我不是百分百肯定,如果这回答了你的要求,但不会做以下工作:
$('.block:has(div)').each(function() {
$(this).children('div').each(function() {
// do something with each item element, before the block loop has finished
});
});
答案 2 :(得分:2)
我会在嵌套的每个中构建选择器,或者使用find:
$('.block:has(div)').each(function() {
$('#' + this.id + ' li').each(function() {
//do stuff on list item
});
});
OR
$('.block:has(div)').each(function() {
$(this).find('li').each(function() {
//do stuff on list item
});
});
答案 3 :(得分:1)
您尝试使用
吗?$("#" + this)
?
它主要用于jquery文档的每个示例
(harshath已经发布了......太慢了,呜咽)