编辑css到event.target

我正在尝试将后台更改CSS属性设置为event.target并且它无法正常工作。 除了更改event.target.css之外,所有命令都正常工作

这是我正在使用的代码:

 $(document).ready(function() { $(".plusMatch").click(function(event) { if ($("#productImage"+event.target.id).hasClass("visible")) { $("#productImage"+event.target.id).css("display", "none"); $("#productImage"+event.target.id).removeClass('visible'); event.target.css("background", "url(minusSign.jpg)"); } else { $("#productImage"+event.target.id).css("display", "block"); $("#productImage"+event.target.id).addClass('visible'); event.target.css("background", "url(minusSign.jpg)"); } }); }); 

第一件事是您在项目中使用JQuery,因此如果您想使用JQuery CSS属性 ,最好编写$(event.target)而不是event.target

然后,要使用javascript更改任何CSS属性,您有两个选择:

本机样式属性将编辑HTML元素上的样式标记,例如:

 event.target.style.background = 'url(myPicture.jpg)'; 

更多信息

JQuery css属性

 $(event.target).css('background': 'url(myPicture.jpg)'); 

更多信息

这两种解决方案都会产生以下结果:

 

event.target是一个DOM元素,而不是一个jQuery对象。

创建一个jQuery对象或使用本机DOM .style API。

它应该是$(event.target).css(...)因为event.target是DOM元素,而不是jQuery对象。 使用$转换为jQuery对象:

 $(event.target).css("background", "url(minusSign.jpg)"); 

或者,在常规DOM元素上使用.style

 event.target.style.background = "url(minusSign.jpg)"; 

你必须改变这一行:

 event.target.css("background", "url(minusSign.jpg)"); 

至:

 $(event.target).css("background", "url(minusSign.jpg)");