我是JS的新手 我想使用我创建的idName将Id添加到任何标记。
var x= Element;
x.prototype.idName= function(value){ this.id= value}
这样可行,但我想写类似className
示例:
this.className= "class value"
我想:
this.idName= "id value"
我该怎么做?
答案 0 :(得分:0)
您可以为setter
设置Object.prototype
,并在设置属性时检查该元素是否具有标记名称:
Object.defineProperty(Object.prototype, 'idName', {
set : function(value) {
if(typeof this.tagName !== 'undefined') {
this.id = value;
}
}
});
Object.defineProperty(Object.prototype, 'idName', {
set : function(value) {
if(typeof this.tagName !== 'undefined') {
this.id = value;
}
}
});
var element = document.querySelector('.myelement');
element.idName = 'foo';
console.log(document.getElementById('foo'));
<div class="myelement"></div>