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

    });
});

原文由 bbtron 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 531
2 个回答

首先是您在项目中使用了 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>

原文由 glemiere 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

原文由 SLaks 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题