2014-03-12 40 views
2

在我的页面上有2个父DIV:#div1和#div2。两者都可以包含儿童DIV。 我需要从父母一起选择使用jQuery所有这些孩子DIV。允许在jQuery或CSS选择器中使用括号吗?

<div id="div1"> 
    <div></div> 
    <div></div> 
    <div></div> 
    <div></div> 
</div> 
<div id="div2"> 
    <div></div> 
    <div></div> 
</div> 

是否允许写$("(#div1, #div2) > div")

我知道,我可以写$("#div1 > div, #div2 > div"),这是什么东西。但是如果表达式“div”会更加复杂,并且我会有更多的父母,那么这个表达就会变得不可读。

+1

你为什么不只是添加一个类要选择 – Huangism

+0

为什么不那么的div:'$( “#DIV1,#DIV2”) .children('div')'??? –

+0

在CSS中,可以使用CSS Level 4规范中的任何()(:matches()):https://developer.mozilla.org/en-US/docs/Web/CSS/:any。但对于JS,使用classNames更明智。 – zvona

回答

0

没有,表达是无效的。您可以改为$("#div1, #div2").find('> div')

0

你可以指定父div的一类:

<div class="pdiv" id="div1"> 
    <div></div> 
    <div></div> 
    <div></div> 
    <div></div> 
</div> 
<div class="pdiv" id="div2"> 
    <div></div> 
    <div></div> 
</div> 

,然后使用选择跨类:

$(".pdiv > div") 

这将是一个更清洁的解决方案,如果你有不只是屈指可数父母div的。

4

把它分解成块

$("#div1, #div2").find("> div") 
0

您使用addchildren功能:

$('#div1').add('#div2').children('div') 
相关问题