jquery根据id更改文本

时间:2011-05-10 17:34:35

标签: jquery

我是新手使用jQuery ..

我有一个类似的列表

<ul id="abc">
<li><a id="sp">test</a></li>
<li><a id="sb">test2</a></li>
</ul>

如何根据ID

更改文字

我试过这样的事情

    $("#abc li").click(function() {
        if($("#abc li a").attr('id') == 'sp')
            alert(111111);
    });

警报从未弹出。

这里可能有什么问题

谢谢。

3 个答案:

答案 0 :(得分:0)

试试这个:

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

小提琴:http://jsfiddle.net/maniator/PeMQm/

答案 1 :(得分:0)

$("#abc li").click(function() {
    if($("#abc li a").attr('id') == 'sp')
        alert(111111);
});

应该有效http://jsfiddle.net/eTFR5/1/

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

根据jquery docs

  

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

和你的问题

  

如何根据ID

更改文字
$("#abc li").click(function() {
    $("#sp").text("whatever you like");
});

答案 2 :(得分:0)

除非您有特定的原因想要点击列表项本身而不是链接,否则将点击处理程序放在<a>标记上,如下所示:

$('#abc a').click(function() {
    if (this.id === 'sp') {
        alert(this.id);
    }
    return false;
});

请参阅http://jsfiddle.net/alnitak/bZsrg/