如何在 riotjs 中将 select 当前标签作为 DOM 元素

How to select current tag as DOM element in riotjs

有什么方法可以在不使用 id 属性的情况下 select 当前标签作为 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()

Complete example

我得到了解决方案。我在 'mount' 事件中移动了我的代码。所以 this.root 可用。现在我不需要查询选择器。 this.root 本身有效。

现在可以直接使用了;

this.root.setAttribute(n,v);

我已经更新了 plunker link 以供参考。

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;
  }
});