JQuery $(this)的纯JavaScript等价物

tvz2xvvm  于 2023-01-08  发布在  jQuery
关注(0)|答案(4)|浏览(125)

下面是jQuery代码的一个简单示例:

$(".black").on("click", function() {
    $(this).css("color", "red");
});

当一个css类为“black”的元素被点击时,这个元素的颜色会变成红色。
现在,如何用纯JavaScript编写上面的代码?请告诉我当Jquery $(this)用于类选择器时,它的JavaScript等价物是什么。

p3rjfoxz

p3rjfoxz1#

var blacks = document.getElementsByClassName('black');

for(var i =0; i< blacks.length; i++){
    blacks[i].onclick = function(){ 
        this.style.color = 'red';
    }
}

x一个一个一个一个x一个一个二个x

6fe3ivhb

6fe3ivhb2#

没有$(this)的纯javascript等价物,因为$()返回一个jQuery对象......相反,您必须使用纯javascript构造来执行相同的操作,如

function handler() {
    this.style.color = 'red';
}

var els = document.getElementsByClassName('');
for (var i = 0; i < els.length; i++) {
    els[i].addEventListener('click', handler, false)
}

x一个一个一个一个x一个一个二个x

2exbekwf

2exbekwf3#

可以按如下方式设置css属性:

this.style.color = "red";
ejk8hzay

ejk8hzay4#

较短版本

[].forEach.call(document.querySelectorAll('.black'), function(el) {
    el.addEventListener('click', function() {
        el.style.color="red";
    })
})

相关问题