--- title: Element.toggleAttribute() slug: Web/API/Element/toggleAttribute tags: - API - Element - 元素 - 参考 translation_of: Web/API/Element/toggleAttribute ---
{{domxref("Element")}} 接口的 toggleAttribute()
方法切换给定元素的某个布尔值属性的状态(如果属性不存在则添加属性,属性存在则移除属性)。
Element.toggleAttribute(name [, force]);
name
toggleAttribute()
is called on an HTML element in an HTML document.force
{{optional_inline}}true
if attribute name
is eventually present, and false
otherwise.
InvalidCharacterError
name
contains one or more characters which are not valid in attribute names.在下面的例子中,toggleAttribute()
被用于切换 {{HTMLElement("input")}} 的 readonly
属性。
<input value="text"> <button>toggleAttribute("readonly")</button>
var button = document.querySelector("button"); var input = document.querySelector("input"); button.addEventListener("click", function(){ input.toggleAttribute("readonly"); });
{{ EmbedLiveSample('Example', '300', '50') }}
{{DOMAttributeMethods}}
译者注:下面代码中的 void 0
即 undefined
。
if (!Element.prototype.toggleAttribute) { Element.prototype.toggleAttribute = function(name, force) { if(force !== void 0) force = !!force if (this.getAttribute(name) !== null) { if (force) return true; this.removeAttribute(name); return false; } else { if (force === false) return false; this.setAttribute(name, ""); return true; } }; }
规范 | 状态 | 备注 |
---|---|---|
{{SpecName('DOM WHATWG', '#dom-element-toggleattribute', 'Element.toggleAttribute')}} | {{Spec2('DOM WHATWG')}} |
{{Compat("api.Element.toggleAttribute")}}