jquery-如何检测子ID?

时间:2009-07-23 02:12:34

标签: javascript jquery

<div id="first">
    <div id="here">...</div>
</div>
<div id="second">
    <div id="here">...</div>
</div>

jquery的:

$("#second #here").click(function(){});

如何编写jquery来检测我何时点击第二个?

2 个答案:

答案 0 :(得分:5)

这是一个错误的问题,因为你不应该在文档中有重复的ID。 ID类似于元素的社会安全号。你不能给同一个元素赋予多个元素,因为当你告诉Javascript按ID查找元素时,它会被多个事实所困扰,并给你意想不到的结果。 ID查找速度与原来一样快的原因是因为浏览器可以有一个ID->元素的哈希表 - 至少可以说这种理解是不好的做法。

当你有几个完全相同的“类型”元素时,正确的做法就是对它们进行分类:

<div id="first">
    <div class="here">...</div>
</div>
<div id="second">
    <div class="here">...</div>
</div>

那么你可以这样做:

$('#first').find('div.here');

或者:

$('div.here', '#second');

或者:

$('#first div.here');

哪一个都会返回你期望他们返回的东西。

答案 1 :(得分:0)

This正是您所寻找的,但像Paolo所说,您不能拥有重复的ID。如果你是造型,请使用一个类。