正在检查没有值的HTML5数据属性
Checking for HTML5 data attribute with no value
我有一个元素,它有一个HTML5 data
属性,没有值,只有这样的键:
<div id="1" data-foo>Foo</div>
如果我像这样使用dataset
:
getElementById("1").dataset.foo
那么,这将返回一个null值,并且我无法区分该元素是否具有data-foo
属性。有没有办法检查元素是否有data-foo
属性,而不管它是否有指定的值?
您可以通过使用hasAttribute
方法检查元素是否包含属性来实现这一点:
document.getElementById('1').hasAttribute('data-foo')
如果元素没有data-foo
属性,则对dataset.foo
的调用将返回undefined
,而不是null
(如果是空属性,则返回空字符串)。
您应该检查实际值,如下所示:
var fooVal = document.getElementById('div1').dataset.foo;
// data-foo is not present at all:
if( fooVal === undefined )
{
}
// data-foo is present but empty
if( fooVal === '' )
{
}
当然,您可以将逻辑转换为一个简单的布尔值:
var hasFoo = ( document.getElementById('div1').dataset.foo !== undefined );
jsFiddle演示
相关文章:
- 如何在 iframe 中创建 HTML5 数据属性
- Skrollr:操作html5数据属性
- 在 jQuery 选择器中使用 HTML5 数据属性
- 正在检查没有值的HTML5数据属性
- css3动画使用html5数据属性
- 基于 html5 数据属性值创建 JavaScript 对象是否是一种好的做法
- 如何将javascript对象或JSON存储在使用html5数据属性的html元素中
- ASP.net WebForms - 如何从代码隐藏中获取 html5 数据属性
- Html5 数据属性在 ajax 请求后未更新
- HTML5 数据属性的 jQuery 选择器
- 将 HTML5 数据属性保留在本地存储中
- 使用DOM中定义的html5数据属性创建新元素
- 如何用html5数据属性覆盖jquery插件选项
- 将html5数据属性与javascript结合使用是否风格良好
- Do html5数据属性需要一个值
- 从事件内联中获取html5数据属性
- HTML5数据属性与价值
- 未传递Rails html5数据属性
- JavaScript-HTML5数据属性
- 具有jQuery的HTML5数据属性“;这个“;