2 votes

Comment créer un élément de données nul en jQuery ?

$("selector").data("name", null);
console.log($("selector").data("name"));

Cette impression undefined .

Est-il possible d'instancier un null dans l'objet de données jQuery d'un élément, et non un élément indéfini ?

4voto

Sebastian Krysiak Points 781

Oui et Votre code fonctionne bien, Vous devez vérifier si votre $("selector") existe

3voto

Ionut Points 8072

Votre code fonctionne bien comme @Sebastian Krysiak l'a indiqué, vérifiez si le sélecteur existe. Voir l'extrait de travail ci-dessous :

console.log("before: " + $(".selector").data("name"));
$(".selector").data("name", null);
console.log("after: " + $(".selector").data("name"));

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='selector' data-name='test'></div>

Un exemple pour démontrer ce qui se passe si le sélecteur n'existe pas, comme dans votre cas, il retourne undefined (vous devriez peut-être préciser le type de sélecteur, par exemple. class - .selector o id - #selector ) :

console.log("before: " + $("selector").data("name"));
$("selector").data("name", null);
console.log("after: " + $("selector").data("name"));

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='selector' data-name='test'></div>

2voto

Amir Talic Points 385
$("#selector").data("name", null);
console.log($("#selector").data("name"));

Cela fonctionne très bien tel quel, votre sélecteur peut ne pas exister.

Voici un violon https://jsfiddle.net/eo32jjay/

2voto

Ala Eddine JEBALI Points 2234

Et ça ?

$(document).ready(function() {
    var aVariableValue = null;
    $("#myDiv").data("name", aVariableValue);
    console.log($("#myDiv").data("name"));
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<div id="myDiv"></div>

2voto

Kozie Points 38

Il semble que votre méthode devrait fonctionner, mais l'élément que vous sélectionnez doit exister.

Regardez ce violon pour le voir en action.

// Before
alert($('#elem').data('foo'));

$('#elem').data('foo', null);

// After
alert($('#elem').data('foo'));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X