J'essaie d'ajouter un attribut personnalisé sur mon élément à l'aide de jquery:
$('.map-areas-div').rand(numElements).each(function(){
$(this).attr('element_id',4);
});
Mais au final, mes éléments n'ont pas d'attribut "element_id".
PS, mes éléments html ressemblent à:
<div type="ground" class="map-areas-div" style="position: absolute; top: 900px; left: 720px; height: 40px; width: 90px;"></div>
Merci pour l'aide
5 réponses
Tu ne peux pas. Utilisez plutôt l'api jQuery.data pour associer des propriétés personnalisées à l'encapsuleur jQuery de l'élément. http://api.jquery.com/jQuery.data/
J'utilise la technique jQuery à la volée pour accomplir ce hack.
$(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>
Premier contrôle
$(this).css('background', 'url(' + randomItem.src + ')');
Fonctionne ou non? Si cela fonctionne, mettez «» à votre code d'attribut d'ajout comme,
$(this).attr('element_id','4');
Vous pouvez également ajouter / définir un attribut personnalisé dans l'image
var attr = 'data-img';
var img = 'Hello'
jQuery('img').attr(attr,img);
Il en résultera
<img src="xyz.jpg" data-img="Hello">
Vous pouvez utiliser la fonctionnalité jQuery .data ().
var theDiv = $('#' + divID).data('winWidth', value);
Récupérez les données en utilisant
theDiv.data('winWidth');
Questions connexes
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.