更新元素';使用JavaScript在单击时使用CSS
我是JavaScript新手,必须为不同的选项使用一个函数,但我不知道如何使它工作更新元素';使用JavaScript在单击时使用CSS,javascript,jquery,Javascript,Jquery,我是JavaScript新手,必须为不同的选项使用一个函数,但我不知道如何使它工作 function changecolor(){ $(this).css('background-color', 'white'); $(this).css('border-top', '0.1px solid #8c8a8a'); $(this).css('border-right', '0.1px solid #8c8a8a'); } 我希望每次单击选项时都能激活函数changecolor $(
function changecolor(){
$(this).css('background-color', 'white');
$(this).css('border-top', '0.1px solid #8c8a8a');
$(this).css('border-right', '0.1px solid #8c8a8a');
}
我希望每次单击选项时都能激活函数changecolor
$('#op1').on('click', function(e){
e.preventDefault();
changecolor();
});
您需要引用事件的目标,即您在该实例中单击的元素:
$('op1')。在('click',函数(e){
变色(如目标);
});
功能更改颜色(elem){
$(elem.css('background-color','red');
$(elem).css('border-top','0.1px solid#8c8a8a');
$(elem).css('border-right','0.1px solid#8c8a8a');
}
您在单击时调用函数,但“this”指的是函数,而不是单击的元素。将e作为参数传递给函数,并使用e.currentTarget或仅将此对象传递给函数。changecolor
函数中的this
关键字引用的是当前范围而不是元素,必须从事件处理程序函数传递元素,如下所示:
function changecolor(element){
$(element).css('background-color', 'white');
$(element).css('border-top', '0.1px solid #8c8a8a');
$(element).css('border-right', '0.1px solid #8c8a8a');
}
$('#op1').on('click', function(e){
e.preventDefault();
changecolor(this);
});
你所做的是正确的。你有错误吗?在浏览器中使用F12检查控制台中是否有任何输出ChangeColor不知道您所说的
这是什么意思
非常感谢,我怀疑在单击选项1时是否可以激活选项op2和op3的其他功能