设置没有值的属性

2020/10/18 00:41 · javascript ·  · 0评论

如何设置数据属性而不在jQuery中添加值?我要这个:

<body data-body>

我试过了:

$('body').attr('data-body'); // this is a getter, not working
$('body').attr('data-body', null); // not adding anything

其他所有内容似乎都将第二个参数添加为字符串。是否可以仅设置没有值的属性?

attr()功能也是设置器功能。您可以将一个空字符串传递给它。

$('body').attr('data-body','');

空字符串将仅创建没有值的属性。

<body data-body>

参考-http://api.jquery.com/attr/#attr-attributeName-value

attr(attributeName,value)

也许尝试:

var body = document.getElementsByTagName('body')[0];
body.setAttribute("data-body","");

接受的答案不会再创建一个名称唯一属性(9月2017)。

您应该使用JQuery prop()方法创建仅名称属性。

$(body).prop('data-body', true)

您无需jQuery就可以做到!

例:

document.querySelector('button').setAttribute('disabled', '');
<button>My disabled button!</button>

要设置布尔属性的值(例如禁用),可以指定任何值。建议使用空字符串或属性名称。重要的是,如果根本不存在该属性,则不管其实际值如何,都将其值视为真实。该属性的缺失表示其值是false。通过将Disabled属性的值设置为空字符串(“”),我们将disable设置为true,这将导致按钮被禁用。

来自MDN Element.setAttribute()

不知道这是否真的有用,还是不确定为什么我喜欢这种样式,但是我所做的(在香草js中)是:

document.querySelector('#selector').toggleAttribute('data-something');

这将以小写形式添加没有值的属性,如果元素上已经存在该属性,则将其删除。

https://developer.mozilla.org/zh-CN/docs/Web/API/Element/toggleAttribute

本文地址:http://javascript.askforanswer.com/shezhimeiyouzhideshuxing.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!