编辑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)");