jquery-如何检测子ID?

ska*_*gor 1 javascript jquery

<div id="first">
    <div id="here">...</div>
</div>
<div id="second">
    <div id="here">...</div>
</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$("#second #here").click(function(){});
Run Code Online (Sandbox Code Playgroud)

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

Pao*_*ino 5

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

当你有几个都是相同"类型"的元素时,正确的做法是对它们进行分类:

<div id="first">
    <div class="here">...</div>
</div>
<div id="second">
    <div class="here">...</div>
</div>
Run Code Online (Sandbox Code Playgroud)

那么你可以这样做:

$('#first').find('div.here');
Run Code Online (Sandbox Code Playgroud)

要么:

$('div.here', '#second');
Run Code Online (Sandbox Code Playgroud)

要么:

$('#first div.here');
Run Code Online (Sandbox Code Playgroud)

哪一个都会归还你期望他们返回的东西.