Javascript Jquery-查找子id的类
我有以下资料:Javascript Jquery-查找子id的类,javascript,jquery,Javascript,Jquery,我有以下资料: <div id=box1> <div id='1' class='product' style=""></div> <div id='2' class='product' style="display: none;"></div> <div id='3' class='product' style="display: none;"></div> </div> &
<div id=box1>
<div id='1' class='product' style=""></div>
<div id='2' class='product' style="display: none;"></div>
<div id='3' class='product' style="display: none;"></div>
</div>
<div id=box2>
<div id='4' class='product' style=""></div>
<div id='5' class='product' style="display: none;"></div>
<div id='6' class='product' style="display: none;"></div>
</div>
<div id=box3>
<div id='7' class='product' style=""></div>
<div id='8' class='product' style="display: none;"></div>
<div id='9' class='product' style="display: none;"></div>
</div>
所以我的问题是:如何定位特定的框id?您可以使用以下方法:
$("#box" + boxid).find( '.product' ).each(function() {
//Toggle display
$( this ).toggle();
});
您应该能够选择以下产品:
$("#box" + boxid + " > .product").toggle();
除非这是一个输入错误,否则不会根据您的输入选择任何内容 html:
即使你在一个循环的环境中通过 之前选择的元素,这将选择所有元素 使用类
产品
,即使他们不是
迭代元素
您可以在选择器中使用内部产品的boxid+类:
$( "some-click-event" ).click(function() {
var boxid = $(this).data("boxid"); //taken from the clicked element
//Now I need to recurse through each box element
$("#" + boxid + " .product" ).each(function( index ) {
//Toggle display
});
});
为什么你有数字,因为你输入了
“#”+boxId
,而不是“#box”+boxId
?@RoyiNamir谢谢你发现了这一点!修正了我的答案这是为了满足我的需要,谢谢。
$("#" + boxid).children(function() {
$( ".product" ).each(function( index ) {
$( "some-click-event" ).click(function() {
var boxid = $(this).data("boxid"); //taken from the clicked element
//Now I need to recurse through each box element
$("#" + boxid + " .product" ).each(function( index ) {
//Toggle display
});
});