0

少し問題があります。

クリックしたときに答えを強調表示したいのですが、.styleうまくいかないようです:(

私は次のようなhtmlコードの一部を持っています:

<div id="answers-type1">
    <ol>
        <img src="" id="answer-a-img" /><li id="answer-a" ></li>
        <img src="" id="answer-b-img" /><li id="answer-b" ></li>
        <img src="" id="answer-c-img" /><li id="answer-c" ></li>
        <img src="" id="answer-d-img" /><li id="answer-d" ></li>
    </ol>
</div>

そして私のスクリプトで私はこれを得ました:

$("#answers-type1 li").click(function() {
     $(this).style = "background-color: #FFFF00;";
     if ($(this).text() == goodAnswer)
     {
         alert("JAYJAY");
     }
     else
     {
         alert("pas JAYJAY");
     }
});

関数はクリックごとに適切に呼び出されますが、背景は変化しません理由がわかりません:/

ネットで調べたらそういう人が多かった

答えてくれてありがとう

4

4 に答える 4

2

ここで修正: http://jsfiddle.net/RichardTowers/99Zpz/

于 2012-05-24T15:55:49.527 に答える
2

stylejQuery オブジェクトにはプロパティがないため、スタイルは適用されません。css代わりに次のメソッドを使用できます。

$(this).css("background-color","#FFFF00");

または、基になる要素を使用することもできます (jQuery に渡さないでください)。

this.style.backgroundColor = "#FFFF00";

2 番目の例は、おそらくより効率的です。

于 2012-05-24T15:53:43.097 に答える
2

これを使って

$(this).css("background-color","#FFFF00");

これの代わりに

this.style = "background-color: #FFFF00;";
于 2012-05-24T15:55:25.813 に答える
1

試す:

$(this).css("background-color","#FFFF00");

それ以外の :

$(this).style = "background-color: #FFFF00;";
于 2012-05-24T15:53:25.447 に答える