编辑css到event.target

时间:2016-09-02 17:05:04

标签: javascript jquery css

我正在尝试将后台更改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)");
        }


    });
});

4 个答案:

答案 0 :(得分:7)

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

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

原生样式属性将编辑HTML元素的样式标记,例如:

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

More informations

JQuery css属性

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

More informations

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

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