2013-08-27 40 views
0

我正在使用.find()来查找div中的指定元素。 现在.find()做的是找到该div中的每个元素。我希望它只能在第一维中找到它,这意味着它不应该在div shild中搜索。 现在我知道可能有一种方法:not(),因为它使用正常的选择器。Jquery .find() - 限制哪里可以找到

但是,我不认为.not()与.find()连接。它不调整.find()的搜索功能,它只调整.find()元素中的选择器。

例如:

<div class="content"> 
    <ul> 
    <li><input type="radio" name="radiobutton_1" value="yes"></li> 
    <li><input type="radio" name="radiobutton_1" value="no"></li> 
    </ul> 
    <ul> 
    <li><input type="radio" name="radiobutton_2" value="yes"></li> 
    <li><input type="radio" name="radiobutton_2" value="no"></li> 
    </ul> 
    <ul> 
    <li><input type="radio" name="radiobutton_2" value="yes"></li> 
    <li><input type="radio" name="radiobutton_2" value="no"></li> 
    </ul> 

    <div class="subcontent" style="displaye: none;"> 
    <ul> 
     <li><input type="radio" name="radiobutton_1_1" value="yes"></li> 
     <li><input type="radio" name="radiobutton_1_1" value="no"></li> 
    </ul> 
    <ul> 
     <li><input type="radio" name="radiobutton_2_1" value="yes"></li> 
     <li><input type="radio" name="radiobutton_2_1" value="no"></li> 
    </ul> 
    <ul> 
     <li><input type="radio" name="radiobutton_3_1" value="yes"></li> 
     <li><input type="radio" name="radiobutton_3_1" value="no"></li> 
    </ul> 
    </div> 
</div> 

在这个例子中要搜索所有单选按钮,但是我不想在div子内容进行搜索。

我也尝试单独检查,如果parrent div是可见的,由于一些奇怪的原因,这不能正常工作。所以这就是为什么我要求这个。

希望有人能帮助我,在此先感谢!
- Nkmol

回答

0

尝试$(div).find(>ul input:radio)

+0

我tryed这一点,但它仍然会在子内容搜索电台的:(顺便说一句,我使用“this”使它更加动态 我测试了whith alert($(this).attr(“class”));它确实选择了正确的div的。在这种情况下,警报会提供“内容”。 – nkmol

+0

哦,它是$(div#content).find(> ul input:radio) 这是适合你的吗? – amorbytes

+0

可悲的不是。 它确实应该与此工作,但它仍然设法选择其他输入:在子内容中的无线电。我测试了$(this).css('background','red'); 奇怪的是,subdivs没有被选中(我告诉他应该选择哪个div),只有在subdiv中的输入:S – nkmol