在Jquery中为元素添加自定义属性

我正在尝试使用jquery在我的元素上添加自定义属性:

$('.map-areas-div').rand(numElements).each(function(){ $(this).attr('element_id',4); }); 

但最后,我的元素没有“element_id”属性。

PS,我的html元素看起来像:

 

谢谢你的帮助

你不能。 使用jQuery.data api来将自定义属性与元素的jQuery包装器相关联。 http://api.jquery.com/jQuery.data/

你可以使用jQuery .data()function。

 var theDiv = $('#' + divID).data('winWidth', value); 

使用获取数据

 theDiv.data('winWidth'); 

我使用jQuery on-the-fly技术来完成这个hack。

 $(document).ready(function() { $('
').attr('id', 'attributename').attr('faron', 'Idunnoyoucanseeme').text('Hello, I am the element with made-up attribute built on the fly. Made up attribute: faron').appendTo('#nest'); var attributegrabber = $('#attributename').attr('faron'); alert(attributegrabber); });
  

您也可以在图像中添加/设置自定义属性

 var attr = 'data-img'; var img = 'Hello' jQuery('img').attr(attr,img); 

它会导致

  

先检查一下

 $(this).css('background', 'url(' + randomItem.src + ')'); 

工作与否? 如果它工作,将”添加到你的添加属性代码,如,

 $(this).attr('element_id','4');