2012-06-04 139 views
0
<div id=Apple1> 
    <div id=Round></div> 
</div> 
<div id=Apple2> 
    <div id=Round></div> 
</div> 
<div id=Apple3> 
    <div id=Round></div> 
</div> 
<div id=Apple4> 
    <div id=Round></div> 
</div> 
<div id=Apple5> 
    <div id=Round></div> 
</div> 

$("#Apple1 #Round") 
$("#Apple2 #Round") 
$("#Apple3 #Round") 

基本上我有多个div不同的包装div ID和相同的内部div ID。唯一标识HTML ID

可以使用jQuery这种方式唯一标识div标签?

+2

ID必须是唯一的,你必须使用类代替。 –

+0

使用。孩子()方法 – 2012-06-04 09:17:36

+1

你不应该,这不是一个有效的'HTML'到具有相同'id'多个元素。你应该把'Round'变成一个班级而不是'id'。之后,您可以简单地执行'$(“#Apple1 .Round”)等等。 –

回答

4

id根据定义应该已经是唯一的,我会尽量说在HTML页面中有多个相同的id是无效的。

您可以使用类,如果你想:

<div id="Apple1"> 
    <div class="Round"> 
</div> 
... 

然后

$('#Apple1 .Round'); 
//etc 
+0

它*是*字面无效,有多个具有相同'id'的元素。标记验证器会捕获这样的错误,因为限制已经在HTML中正式实施。 –

0

是的,你可以,但具有相同id多个元素没有任何标准下有效的HTML。

0

ID必须是唯一的,使用类的“圆”,而不是,然后对目标识别中一个独特的圆id div。

$('#Apple1 .Round') 
0

您不能在一个页面中重复ID,它们必须是唯一的。切换你重复的ID类

<div id=Apple1> 
    <div class=Round></div> 
</div> 

然后,你做你最初

$('#Apple1 .Round').doSomething() 
0

试图ID必须是唯一的。你必须使用类而不是你的ID“圆”。

<div id="Apple1"> 
    <div class="Round"></div> 
</div> 
<div id="Apple2"> 
    <div class="Round"></div> 
</div> 
<div id="Apple3"> 
    <div class="Round"></div> 
</div> 
<div id="Apple4"> 
    <div class="Round"></div> 
</div> 
<div id="Apple5"> 
    <div class="Round"></div> 
</div> 

比你可以查询的jQuery这样:

$("#Apple1 .Round") 
$("#Apple2 .Round") 
$("#Apple3 .Round") 
0
<div id=Apple1> 
    <div></div> 
</div> 
<div id=Apple2> 
    <div></div> 
</div> 
<div id=Apple3> 
    <div></div> 
</div> 
<div id=Apple4> 
    <div></div> 
</div> 
<div id=Apple5> 
    <div></div> 
</div> 

$("#Apple1").children() 
$("#Apple2").children() 
$("#Apple3").children() 
0

是花花公子。

您可以使用此。但ID必须是唯一的。因此,它更好地让它类