$("selector").data("name", null);
console.log($("selector").data("name"));
这将打印undefined
。
有没有办法在一个元素的jQuery数据对象中实例化一个null
项,而不是一个未定义的元素?
发布于 2017-01-20 13:18:22
是的,并且您的代码运行良好,您应该检查您的$("selector")
是否存在
发布于 2017-01-20 13:19:27
正如@Sebastian Krysiak所说,您的代码运行良好,请检查选择器是否存在。请参阅下面的工作代码片段:
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>
下面的例子演示了如果选择器不存在会发生什么,比如在您的例子中,它返回undefined
(也许您应该说明选择器的类型,例如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>
发布于 2017-01-20 13:19:27
$("#selector").data("name", null);
console.log($("#selector").data("name"));
按原样运行良好,您的选择器可能不存在。
https://stackoverflow.com/questions/41764618
复制相似问题