JavaScript-querySelectorAll和小写/大写

JavaScript - querySelectorAll and lower/uppercase

本文关键字:大写 JavaScript-querySelectorAll      更新时间:2023-09-26

我的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()添加到两者中,但这没有帮助。我能做什么?

对我来说,在这种情况下使用title不是很舒服。想想一种识别器。


提案:

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

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

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

检查此jsFiddle

相关文章: