2016-09-02 9 views
4

私は背景のCSS属性をevent.targetに変更しようとしていますが、動作しません。すべてのコマンドは、ここでevent.target.css編集CSS to event.target

を変更する以外働いている私が使用しているコードです:

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


    }); 
}); 

答えて

3

:通常のDOM要素に.styleを使用し、また

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

:jQueryオブジェクトに変換するには$を使用しますJQuery CSSプロパティを使用する場合は、event.targetの代わりに$(event.target)と記述してください。

次に、JavaScriptを使用して任意のCSSプロパティを変更するには、次の2つのオプションがあります。

ネイティブスタイルプロパティは、例えば、あなたの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> 
3

event.targetはDOM要素ではなく、jQueryオブジェクトです。

jQueryオブジェクトを作成するか、ネイティブDOM .style APIを使用してください。

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

へ:

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

あなたは、この行を変更する必要があります。まず最初に、あなたのプロジェクトでjQueryのを使用しているということですので、それはより良いです

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

event.targetはDOM要素ではなく、jQueryオブジェクトであるため、それは$(event.target).css(...)あるべき

関連する問題