jQuery查找不适用于:首先

Nic*_*ard 0 javascript jquery find selector

我试图找到一个孩子在ul父母中的元素.但是,我只需要找到第一个a.这是我正在使用的

$('div.item a').click(function() {
    $(this).parent().next('ul.subItems').find('a:first').addClass('selected');
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<div class="item"><a id="main5830" href="http://www.mysite.com">Test</a></div>
<ul class="subItems">
<li><a>test 1</a></li>
<li><a>test 2</a></li>
<li><a>test 3</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我想测试1的元素来获得所选的类.

出于某种原因,这不是选择UL中的第一个a或UL元素中的任何一个.我在这里做错了吗?

Rus*_*Cam 6

它确实有效,只需要在click事件处理程序的末尾使用return false;(或event.preventDefault();)来防止锚点默认点击行为.

$('div.item a').click(function() {
    $(this).parent().next('ul.subItems').find('a:first').addClass('selected');
    return false;
});
Run Code Online (Sandbox Code Playgroud)

要么

$('div.item a').click(function(e) {
    e.preventDefault();
    $(this).parent().next('ul.subItems').find('a:first').addClass('selected');
});
Run Code Online (Sandbox Code Playgroud)

这是一个工作演示,展示它的工作原理