我正在尝试将后台更改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)");
}
});
});
答案 0 :(得分:7)
第一件事是您在项目中使用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)');
这两种解决方案都会产生以下结果:
<div style="background:url('myPicture.jpg');"></div>
答案 1 :(得分:3)
event.target
是一个DOM元素,而不是jQuery对象。
创建jQuery对象或使用本机DOM .style
API。
答案 2 :(得分:1)
它应该是$(event.target).css(...)
,因为event.target
是DOM元素,而不是jQuery对象。使用$转换为jQuery对象:
$(event.target).css("background", "url(minusSign.jpg)");
或者,在常规DOM元素上使用.style
:
event.target.style.background = "url(minusSign.jpg)";
答案 3 :(得分:0)
您必须更改此行:
event.target.css("background", "url(minusSign.jpg)");
为:
$(event.target).css("background", "url(minusSign.jpg)");