有没有办法找出数据属性是设置为空值还是根本没有设置它的值?
请参阅此小提琴示例(单击元素时检查控制台):
http://jsfiddle.net/StephanWagner/yy8qvwfp/
<div onclick="console.log($(this).attr('data-test'))">undefined</div>
<div data-test="" onclick="console.log($(this).attr('data-test'))">empty</div>
<!-- this one will also return an empty value -->
<div data-test onclick="console.log($(this).attr('data-test'))">null</div>
<div data-test="value" onclick="console.log($(this).attr('data-test'))">value</div>
我遇到第三个例子的问题。我需要知道属性是否实际设置为空值或者根本没有设置。这有可能吗?
编辑:我问的原因是我正在使用属性值更新内容,因此data-test=""
应该将内容更新为空值,但是{{1}什么都不做
答案 0 :(得分:4)
这是不可能的。以下两个元素归一化为相同的东西(第一个)。
<div data-test="" onclick="console.log($(this).attr('data-test'))">empty</div>
<!-- this one will also return an empty value -->
<div data-test onclick="console.log($(this).attr('data-test'))">null</div>
我通过检查两个元素的outerHTML
对此进行了测试。您需要采用不同的方式来实现这一目标。