繁体   English   中英

重写JS,删除jQuery。 $(此)麻烦

[英]Rewriting JS, removing jQuery. $(this) trouble

我正在尝试将此代码重写为原始JS。

$('body')

    // change background image
    .on('click', '.bgtexture .list li', function() {

        var self = $(this);

        $('.bgtexture .active').removeClass('active');
        self.addClass('active');

        $('.start').css('background', 'url("img/masks/'+self.text()+'.png") repeat');

    })

    // change background image
    .on('click', '.bggradient .list li', function() {

        var self = $(this),
            color = self.text();

        $('.bggradient .active').removeClass('active');
        self.addClass('active');

        $('.gradient').attr('class','gradient').addClass(color);

    });

到目前为止,我有:

document.querySelector('.bgtexture .list li').addEventListener('click', function () {

    // what would $(this) be in vanilla js?
    var self = $(this);

});

香草js中的$(this)是什么?

尝试这种方式:

var elemList=document.querySelectorAll(".bgtexture .list li");
for(var i=0, len=elemList.length; i < len; i++)
{
        elemList[i].addEventListener('click', function()
        {
                //Clicked element
                console.log(this);
        }, false);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM