有没有办法在不使用id属性的情况下选择当前标记作为DOM元素?
我目前正在做的是什么;
function addAttr(n,v){
var ta = document.getElementById(opts.id);
ta.setAttribute(n,v);
}
我正在寻找像这样的直接方式;
function addAttr(n,v){
var ta = document.querySelector(this);
//var ta = document.querySelector(this.root);
ta.setAttribute(n,v);
}
传递this.root
适用于jQuery但不适用于document.querySelector()
答案 0 :(得分:0)
我得到了解决方案。我把我的代码移到了#mount;#事件。所以this.root
可用。现在我不需要查询选择器。 this.root本身就有效。
现在我可以直接使用;
this.root.setAttribute(n,v);
我已更新了plunker链接以供参考。
this.on("mount",function(){
if(opts.fa){
this.root.className += " faa";
if(opts.selectable)
this.root.innerHTML = fa_icons[opts.fa];
else{
this.root.setAttribute("faicon", fa_icons[opts.fa]);
}
}else if(opts.text){
this.root.innerHTML = opts.text;
}
if(opts.transform){
this.root.style.transform = opts.transform;
}
});