jquery attr在警报时显示未定义

时间:2014-09-08 14:02:28

标签: javascript jquery

HTML

<div id="a">df</div>

jquery

alert($(this).attr('id'));

我想要提醒的值是a但是我得到了未定义的

http://jsfiddle.net/110y0uux/

6 个答案:

答案 0 :(得分:1)

您必须设置选择器。使用this,您选择window对象,该对象没有attr id,因此您将被定义为。

您必须选择具有特定attr

div元素

尝试:

alert($('div').attr('id'));

答案 1 :(得分:1)

$(this)更改为$("#a")

alert($("#a").attr('id'));

请参阅JSFiddle

答案 2 :(得分:1)

这是因为页面加载时<div id="a">没有执行回调函数,因此$(this)未定义。你需要显示<div id="a">的attr,你应该这样做:

alert($('#a').attr('id'));

alert($('div').attr('id'));

答案 3 :(得分:1)

&#34;这&#34;不指向你的div,它指向你操作的javascript函数。

尝试添加选择器:

$('#a').attr('id')

将返回&#39; a&#39;在这种情况下...

答案 4 :(得分:1)

如果你想显示许多div的所有ID

$('div').each(function(){
    alert($(this).attr('id'));
});

答案 5 :(得分:0)

$(this)在文档就绪事件中具有整个窗口的上下文,而不是您正在寻找的div元素。使用正确的选择器来定位元素:

$('#a').attr('id');