得到jquery` $(this)`id

时间:2011-06-14 15:41:32

标签: javascript jquery html

如何获取触发jQuery id函数的元素的.change()? 函数本身可以正常工作,但我需要一个具有id="next"的选择器的特定操作。

$("select").change(function() {
    [...snip....]
    alert( $(this).attr('id') );  // <---- not working
}

为什么上面的提醒无效?

2 个答案:

答案 0 :(得分:63)

this是挂接事件的DOM元素。 this.id是其ID。无需将其包装在jQuery实例中以获取它,id属性可以在所有浏览器上可靠地反映该属性。

$("select").change(function() {    
    alert("Changed: " + this.id);
}

Live example

您不是在代码示例中执行此操作,但如果您正在观看具有多个表单元素的容器,那么将为您提供容器的ID 。如果您想要触发该事件的元素的ID,您可以从event object's target属性中获取该ID:

$("#container").change(function(event) {
    alert("Field " + event.target.id + " changed");
});

Live example

(jQuery确保change事件起泡,即使在IE本身也不存在。)

答案 1 :(得分:5)

你的意思是对于id为“next”的select元素你需要执行一些特定的脚本吗?

$("#next").change(function(){
    //enter code here
});