JavaScript - querySelectorAll和lower / uppercase

时间:2016-05-10 08:47:24

标签: javascript

我对querySelectorAll有疑问。我这样用它:

Array.prototype.forEach.call(buttons, (btn) => {
  this.setItemActive(target);
});

setItemActive(item) {
  _.addClass(document.querySelectorAll(`[title="${item}"]`)[0], this.activeClass);
}

如果提供的item与所述元素中的target值完全相同,则它可以正常工作。但我在我的按钮上使用text-transform并导致问题。我尝试向两者添加toLowerCase(),但这并没有帮助。我该怎么办?

2 个答案:

答案 0 :(得分:0)

至于我 - 在这种情况下使用标题并不是很舒服。想想一种识别器。

主张:

在您的HTML代码中,添加其他attr,类似于:

<a title="WrIght As You Wish" data-title="strictlowercasetitle" >Your info with title</a>

并在你的JS中:

Array.prototype.forEach.call(buttons, (btn) => {
  this.setItemActive(target);
});

setItemActive(item) {
  // make item lower case
  _.addClass(document.querySelectorAll(`[data-title="${item.toLowerCase()}"]`)[0], this.activeClass);
}

答案 1 :(得分:0)

我尝试setItemActive函数并在下面写了这个函数。 希望这会对你有所帮助

function _setItem(item){
    console.log(item)
    var m = document.querySelectorAll('a[title='+item+']')[0];
    console.log(m)
    }
    _setItem("WrIght");

选中此jsFiddle