如何在riotjs中选择当前标签作为DOM元素

时间:2016-12-30 06:43:20

标签: javascript riotjs

有没有办法在不使用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()

Complete example

1 个答案:

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