我对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()
,但这并没有帮助。我该怎么办?
答案 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