我正在尝试使用jquery在我的元素上添加自定义属性:
$('.map-areas-div').rand(numElements).each(function(){
$(this).attr('element_id',4);
});
但最后,我的元素没有“element_id”属性。
PS,我的html元素看起来像:
<div type="ground" class="map-areas-div" style="position: absolute; top: 900px; left: 720px; height: 40px; width: 90px;"></div>
感谢您的帮助
答案 0 :(得分:13)
您可以使用jQuery .data()功能。
var theDiv = $('#' + divID).data('winWidth', value);
使用
获取数据theDiv.data('winWidth');
答案 1 :(得分:9)
我使用jQuery on-the-fly技术来实现这个黑客。
$(document).ready(function() {
$('<div>').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);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="nest"></div>
答案 2 :(得分:7)
你做不到。使用jQuery.data api来将自定义属性与元素的jQuery包装器相关联。 http://api.jquery.com/jQuery.data/
答案 3 :(得分:5)
您还可以在图片中添加/设置自定义属性
var attr = 'data-img';
var img = 'Hello'
jQuery('img').attr(attr,img);
将导致
<img src="xyz.jpg" data-img="Hello">
答案 4 :(得分:-3)
首先检查
$(this).css('background', 'url(' + randomItem.src + ')');
工作与否?如果它正常工作,请将''添加到您的添加属性代码中,如
$(this).attr('element_id','4');