在javascript中创建仅含属性名无属性值的dom元素,并非setattribute方法的直接用途。setattribute总是需要属性值,即使为空字符串。 要实现只设置属性名而不赋值的效果(例如),需要使用document.createattribute()和setattributenode()方法。

首先,用document.createAttribute('属性名')创建一个属性节点,例如document.createAttribute('primary')。然后,使用setAttributeNode(属性节点)将此节点添加到目标DOM元素。
以下代码演示了创建元素的完整过程:
const attr = document.createAttribute('primary');
const div = document.createElement('div');
div.setAttributeNode(attr);
document.body.appendChild(div); // 将元素添加到页面
这段代码先创建名为primary的属性节点,再将其添加到一个新的body中。 这便成功创建了一个带有primary属性,但属性值为空字符串的DOM元素。 这种方法有效地规避了setAttribute方法的限制,实现了预期的效果。










