0

我正在尝试在 ul 父级中找到一些子元素。但是,我只需要找到第一个a。这是我正在使用的

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

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>

我想测试 1 的一个元素来获得选中的类。

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

4

1 回答 1

6

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

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

或者

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

这是一个工作演示,显示它工作

于 2009-11-01T19:35:56.263 回答