当前位置: 动力学知识库 > 问答 > 编程问答 >

jQuery check element ID

问题描述:

I know there is plugin called .hasClass();

I have the following

$('#page_background, #header_background').ColorPicker({...

how would I check if page_background is clicked and not header_background?

This is what I have now, it won't work.

$('#page_background, #header_background').ColorPicker({

onSubmit: function(hsb, hex, rgb, el) {

$(el).val(hex);

$(el).ColorPickerHide();

var id = this.id;

if(id == 'page_background')

$('body').css("background-color","#"+hex);

},

onBeforeShow: function () {

$(this).ColorPickerSetColor(this.value);

}

})

.bind('keyup', function(){

$(this).ColorPickerSetColor(this.value);

});

网友答案:
$(function(){
   $('#page_background, #header_background').click(function(){

   var id = this.id;
   if(id == 'page_background')
     // page background
   else
     //header 
 });
});

Working fiddle

As you are using this inside colorpicker onSubmit function

onSubmit: function(hsb, hex, rgb, el) {

where you get the element as el, so to get the id use

 var id = $(el).attr('id');
 // or
 var id = $(el).prop('id'); // new way
 //or simply
 var id = el.id; // this should work too
网友答案:

Assuming you have a reference to the clicked element stored in this, you can simply use the native DOM property:

var id = this.id;

If this is a jQuery object, not a DOM node, you can use this.attr("id").

Also note that hasClass is a normal jQuery method, not a plugin. It's part of the standard jQuery library.

分享给朋友:
您可能感兴趣的文章:
随机阅读: