单击元素的jQuery子项

时间:2008-12-11 13:48:44

标签: jquery jquery-selectors

我有一个附有点击事件的链接列表,我需要从子A链接获取ID。所以在下面的例子中,如果我点击第一个列表元素,我需要谷歌重新调整。

我已经尝试'$this a',但无法解决语法问题。

$("ul li").click(function(event){
  $("input").val($(this).html());             
});
<ul>
    <li><a href="http://www.google.com" id="google">Google</a>
</ul>

3 个答案:

答案 0 :(得分:44)

我没有看到示例HTML但是

$(this).find('a:first').attr('id')

会这样做(修复 a:第一个选择器,如果它不是你的意思)

指的是触发事件的元素

答案 1 :(得分:4)

为了使你的代码更整洁,让绑定触发器具有如下函数: (我建议你给你的UL一个ID,因此它只适用于那个UL内的元素)

$('ul li').bind('click', getAnchorId);

被调用的函数(getAnchorId)获取被点击元素(ul li)的子元素(a)的ID属性并将其应用于变量(anchorId),并显示其获取的正确信息结果发出警报。

function getAnchorId() {
    var anchorId = $(this).children('a').attr('id');
    alert(anchorId);
}

现在你可以用这个变量做任何你想做的事情:)

希望这有助于:)

答案 2 :(得分:2)

您可以使用children方法:

$(this).children('a').eq(0).attr('id');

我不确定语法,但这样的事情应该有用。