开发者

How to get the jQuery `$(this)` id?

How can I get the id of the element that triggered the jQuery .change() function? The function itself wo开发者_开发技巧rks properly, but I need a specific action for a selector with id="next".

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

Any ideas why the alert above isn't working?


this is the DOM element on which the event was hooked. this.id is its ID. No need to wrap it in a jQuery instance to get it, the id property reflects the attribute reliably on all browsers.

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

Live example

You're not doing this in your code sample, but if you were watching a container with several form elements, that would give you the ID of the container. If you want the ID of the element that triggered the event, you could get that from the event object's target property:

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

Live example

(jQuery ensures that the change event bubbles, even on IE where it doesn't natively.)


Do you mean that for a select element with an id of "next" you need to perform some specific script?

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜