2017-01-20 2 views
2
$("selector").data("name", null); 
console.log($("selector").data("name")); 

これはundefinedを印刷します。null jQueryデータ項目を作成するには?

要素のjQueryデータオブジェクトにnullアイテムをインスタンス化するための方法はありますか?未定義ではありませんか?

答えて

4

はいとあなたのコードは正常に動作し、あなたの$("selector")が@Sebastian Krysiakはセレクタが存在するかどうかを確認、述べたように

3

あなたのコードがうまく機能が存在する場合、あなたは確認する必要があります。 (多分あなたはの種類が何であるかを言うべきで、あなたのケースのように、それはundefinedを返すにセレクタが存在しない場合にどうなるかを実証する

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>

例を下記作業スニペットを参照してください。セレクタ例えばclassから.selectorまたは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>

+1

ステートメントは関数の中にないため、ドキュメントがロードされる前に実行されていたため、セレクタはまだ存在しませんでした。 – Mox

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

セレクタが存在しない可能性があります。ここで

はこれについてhttps://jsfiddle.net/eo32jjay/

2

何フィドルですか?

$(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>

2

あなたの方法は、あなたが必須に存在する選択されている要素カントー、動作するはずのように見えます。

this fiddleをご覧ください。

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

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

// After 
alert($('#elem').data('foo')); 
関連する問題