Dépouillé d’une tonne de choses pour le rendre plus lisible, il jette une erreur sur la ligne:
$('[data-weight]').each(function() {
Dire que c’est nul
jQuery(document).ready(function() { $('[data-weight]').each(function() { var usingMesortingc = false; var $this = $(this); var value = $this.attr("data-weight"); if (usingMesortingc) { $this.text(value + " KG"); } else { value = parseFloat(value) * 2.20462262; // Convert to imperial $this.text(value + " lbs"); } }); });
Mettre à jour
C’est un suivi de ma question:
Utiliser Javascript pour afficher des poids
Si vous utilisez le mode “aucun conflit” de jQuery, le problème peut être le suivant:
jQuery(document).ready(function() { ^-- Consider adding $ here
… ou utilisez jQuery
plutôt que $
partout.
Si vous n’utilisez pas jQuery no-conflict, je ne vois pas pourquoi il y aurait un problème. Cela fonctionne très bien ici: http://jsbin.com/odaxa3 Les seules modifications que j’ai apscopes ont été de charger jQuery à partir du CDN de Google et de faire correspondre le poids de l’atsortingbut à l’affichage.
data-weight
n’est pas un atsortingbut valide, avant HTML5. Pourquoi ne pas le faire de cette façon,
partie html,
800 KG
partie jQuery,
jQuery(document).ready(function () { $('[class^="weight"]').each(function () { var usingMesortingc = false; var $this = $(this); var value = this.className.split('-')[1]; if (usingMesortingc) { $this.text(value + " KG"); } else { value = parseFloat(value) * 2.20462262; // Convert to imperial $this.text(value + " lbs"); } }); });
Au lieu de convertir les unités, vous pouvez imprimer toutes les unités et afficher celle qui vous convient le mieux:
800 kg / 1763 lbs
Vous pouvez maintenant basculer entre les unités en affichant / masquant les éléments avec la mésortingque de classe / imperial :
.units-separator { display: none } /* for mesortingc view */ .mesortingc { } .imperial { display: none } /* for imperial view */ .mesortingc { display: none } .imperial { }
Et si CSS n’est pas pris en charge, les deux unités apparaissent comme suit:
800 kg / 1763 lb
Puis-je savoir, qu’est-ce que ‘data-weight’? Est-ce un identifiant de contrôle? S’il s’agit d’un identifiant de contrôle, vous devez donner:
$('#data-weight').children().each(function() {...
Ou
Le post suivant pourrait vous être utile:
Sélecteurs d’atsortingbuts jQuery: comment interroger un atsortingbut avec un espace de nom personnalisé