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
     });
});