<div id="first">
<div id="here">...</div>
</div>
<div id="second">
<div id="here">...</div>
</div>
jquery的:
$("#second #here").click(function(){});
如何编写jquery来检测我何时点击第二个?
答案 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。如果你是造型,请使用一个类。