Javascript 设置DOM元素';名称与XML不匹配的属性';姓名制作
我有一个HTML元素 我可以使用读取其中一个属性的值Javascript 设置DOM元素';名称与XML不匹配的属性';姓名制作,javascript,html,dom,attributes,Javascript,Html,Dom,Attributes,我有一个HTML元素 我可以使用读取其中一个属性的值 console.log(document.querySelector('div').getAttribute('~');//“123” 您可以: 使用innerHTML解析包含具有所需属性名称的元素的HTML字符串 从该元素中删除属性(属性只能属于单个元素) 将属性的值更改为所需的值 将属性设置为所需的元素 函数setAttr(el、名称、值){ 如果(/[\u0000\u0009\u000A\u000C\u000D\u0020\u002
console.log(document.querySelector('div').getAttribute('~');//“123”
您可以:
innerHTML
解析包含具有所需属性名称的元素的HTML字符串函数setAttr(el、名称、值){
如果(/[\u0000\u0009\u000A\u000C\u000D\u0020\u002F\u003D\u003E]/.test(名称))
抛出新错误('InvalidCharacterError');
var htmlString='
';
var parser=document.createElement('div');
parser.innerHTML=htmlString;
var attrs=parser.firstChild.attributes;
如果(attrs.length!==1 | | attrs.item(0).name!==name)//为了安全起见
抛出新错误('InvalidCharacterError');//不应发生这种情况
var attr=attrs.removenametem(名称);
属性值=值;
el.attributes.setNamedItem(attr);
}
var el=document.querySelector('div');
setAttr(el,“~”,“123”);
console.log(el.getAttribute('~');//“123”