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

该样式未应用,因为 jQuery 对象没有style属性。您可以改用该css方法:

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

或者,您可以使用底层元素(不要将其传递给 jQuery):

this.style.backgroundColor = "#FFFF00";

第二个示例可能会更有效。

于 2012-05-24T15:53:43.097 回答
2

用这个

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

而不是这个

this.style = "background-color: #FFFF00;";
于 2012-05-24T15:55:25.813 回答
2

固定在这里:http: //jsfiddle.net/RichardTowers/99Zpz/

于 2012-05-24T15:55:49.527 回答
1

尝试:

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

代替 :

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