Ответ 1
Вы не можете. Используйте jQuery.data api вместо этого, чтобы связать пользовательские свойства с оболочкой элемента jQuery. http://api.jquery.com/jQuery.data/
Я пытаюсь добавить пользовательский атрибут в свой элемент, используя 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>
Спасибо за помощь
Вы не можете. Используйте jQuery.data api вместо этого, чтобы связать пользовательские свойства с оболочкой элемента jQuery. http://api.jquery.com/jQuery.data/
вы можете использовать jQuery.data().
var theDiv = $('#' + divID).data('winWidth', value);
Получите данные с помощью
theDiv.data('winWidth');
Я использую метод jQuery on-fly-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>
Вы можете добавить/установить собственный атрибут в изображение также
var attr = 'data-img';
var img = 'Hello'
jQuery('img').attr(attr,img);
это приведет к
<img src="xyz.jpg" data-img="Hello">
Сначала проверьте
$(this).css('background', 'url(' + randomItem.src + ')');
работает или нет? Если он работает, поместите '' в свой код атрибута добавления, например,
$(this).attr('element_id','4');