这是我的JQuery代码:
$(document).ready(function () {
$("ul.navbar").on("click", "li", function() {
$(this).find("h2").css("color: pink");
alert($(this).text());
alert($(this).find("h2").text());
});
});
单击会正确生成警报,但文本的颜色不会更改。我也试过了.addClass()
,但这也行不通。有任何想法吗?我已经仔细阅读了很多其他类似的问题,但没有发现它们有用,我是Javascript的真正新手并且仍然卡住了。
答案 0 :(得分:3)
您错误地使用了.css()
-
应该是这样的 -
$(this).find("h2").css("color","pink");
API --->
http://api.jquery.com/css/
答案 1 :(得分:2)
改变这个:
$(this).find("h2").css("color: pink");
到那个:
$(this).find("h2").css("color", "pink");
答案 2 :(得分:2)
JQuery css函数有两个参数,你使用的不正确。
正确的参数如下
$(this).find("h2").css("color" ,"pink");
答案 3 :(得分:1)
或者这个:
$(this).find("h2").css( {color: "pink" } );
答案 4 :(得分:1)
jQuery的CSS函数接受两种样式的参数:
作为单个名称/值对:
.css('stylename' , 'value')
函数调用中的两个参数,以逗号分隔。
...在这种情况下,您的代码将如下所示:
.css('color', 'pink')`
注意:两个参数都是字符串,因此必须用引号括起来。无论您使用单引号还是双引号都无关紧要。
作为包含多个名称/值对的对象:
.css({'stylename':'value' , 'stylename':'value' , etc})
一个参数,但定义为一个对象,用花括号括起来;每个名称/值由冒号分隔;以逗号分隔的每对名称/值。
...在这种情况下,您的代码将如下所示:
.css({'color': 'pink'})`
和以前一样,单引号或双引号无关紧要,但请注意,由于这是一个对象结构,因此样式名称周围的引号是可选的(尽管并非在所有情况下都是如此,因此最好始终坚持使用有他们)。
第一种语法最初是唯一可用的语法;后一种语法在jQuery的更高版本中添加,允许在一次调用中设置多个样式。
如果您只更改单个样式值,则使用哪种语法无关紧要。如果您一次更改多个样式,那么显然最好使用第二种语法而不是使用第一种语法进行多次调用。
答案 5 :(得分:0)
您的代码似乎对我有用:
$(document).ready(function () {
$("ul.navbar").on("click", "li", function() {
$(this).find("h2").css("color","pink");
alert($(this).text());
alert($(this).find("h2").text());
});
});
你使用的是哪个jQuery?