我第一次使用jQuery向导航栏中的某个元素添加类,但类“.selected”未被添加。addClass()不添加类
请你能告诉我我哪里出错了吗?
下面是一个例子:http://jsfiddle.net/v32qy/2/
谢谢!
我第一次使用jQuery向导航栏中的某个元素添加类,但类“.selected”未被添加。addClass()不添加类
请你能告诉我我哪里出错了吗?
下面是一个例子:http://jsfiddle.net/v32qy/2/
谢谢!
this
不是jQuery对象,它是实际的DOM元素。要将其转换为jQuery对象,请使用$(this)
。所以:
$(this).addClass('selected');
中的jsfiddle另一个问题是,你没有选择<a>
元素,你选择<h2>
。最后,链接正在被遵循。 Here's all that fixed.
别的东西,你可能会考虑是element.innerText
没有从我所看到的(即它只能在IE中工作)非常优秀的浏览器的支持。只是一个小点。
除了更正语法之外,还希望将类应用于锚点。
$('#textContainer h2 a').click(function() {
var title = this.innerText;
$(this).addClass('selected');
});
由于内文,但字体颜色实际上没有改变的方式,你能告诉我为什么吗? – 2011-12-24 21:29:56
@max_:这次是CSS问题 - *特性*之一。您的链接的CSS规则更具体,因此它们覆盖了非特定规则'.selected'。你可以通过[添加!重要]来解决它(http://jsfiddle.net/v32qy/7/)。然而,这在IE6中不起作用,所以要么使'.selected'更具体,要么使其他规则更具体。 – Ryan 2011-12-24 21:32:05
您可以使用'.text()'获得更好的浏览器支持:http://jsfiddle.net/v32qy/8/ – mc10 2011-12-24 23:49:14