jQuery $.data() 条件语句
我在元素上使用 html5“data”属性,并且仅当变量存在且不为空时,我才想将属性值分配给变量:
var xxx = $(this).data('what ')? $(this).data('what') : 'default_value';
但它不起作用。我总是得到默认值...
I'm using the html5 "data" attribute on a element, and I want to assign the attribute value to a variable only if it exists and if it's not empty:
var xxx = $(this).data('what') ? $(this).data('what') : 'default_value';
but it doesn't work. I always get the default value...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用短路更简单、更高效:
但是假设数据存在,您的代码无论如何都应该可以工作(正如评论者指出的那样)。
Using a short circuit is simpler and more efficient:
But your code should have worked anyway, assuming the data existed (as the commenter noted).
看起来 $(this) 不是您期望的那样。除此之外,该声明看起来不错。 演示
Looks like $(this) is not what you expect it to be. Other than that, the statement looks fine. Demo
根据文档:
.data()
.attr()
所以你想要的是使用 .attr() 方法,如下所示:
According to the documentation:
.data()
.attr()
So what you want is to use the .attr() method, like this: