jquery根据id更改文本

jquery根据id更改文本,jquery,Jquery,我刚刚使用jQuery 我有一张这样的清单 <ul id="abc"> <li><a id="sp">test</a></li> <li><a id="sb">test2</a></li> </ul> $("#abc li").click(function() { if($("#abc li a").attr('id') == 'sp')

我刚刚使用jQuery

我有一张这样的清单

<ul id="abc">
<li><a id="sp">test</a></li>
<li><a id="sb">test2</a></li>
</ul>
    $("#abc li").click(function() {
        if($("#abc li a").attr('id') == 'sp')
            alert(111111);
    });
警报从未出现过

这里怎么了

谢谢。

试试这个:

   $("#abc li").click(function() {
        if($('a', this).get(0).id == 'sp')
            alert(111111);
    });
小提琴:

应该有用

工作原理与

$("#abc li").click(function() {
    if($('a', this).get(0).id == 'sp')
        alert(111111);
});
根据jquery文档

.attr()方法仅获取匹配集中第一个元素的属性值

还有你的问题

如何根据id更改文本


除非你有特别的理由想点击列表项本身,而不是链接,否则把点击处理程序放在

上,它会得到第一个DOM元素,这比使用
$('a',this.attr('id')
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈!这是非常不真实的。OP的代码不起作用。你试过了吗?我已经给出了链接,答案对你来说够清楚了吗?是的@超级流浪汉我很理解你第一次贴出的答案!你没有做错什么。。。几乎。你回答得很好,但只是字面意思!乐趣+1!jhehehe现在你又回到了“0”:D gehehehe只是和蔼可亲,这让我如此懒散以至于我的心情仍然很好:)
$("#abc li").click(function() {
    if($('a', this).get(0).id == 'sp')
        alert(111111);
});
$("#abc li").click(function() {
    $("#sp").text("whatever you like");
});
$('#abc a').click(function() {
    if (this.id === 'sp') {
        alert(this.id);
    }
    return false;
});