addClass()不添加类

时间:2011-12-24 21:13:22

标签: jquery html addclass

我第一次使用jQuery将类添加到导航栏中的元素,但是没有添加类“.selected”。

请告诉我我哪里出错了?

以下是一个示例:http://jsfiddle.net/v32qy/2/

谢谢!

3 个答案:

答案 0 :(得分:7)

this不是jQuery对象,它是实际的DOM元素。要将其转换为jQuery对象,请使用$(this)。所以:

$(this).addClass('selected');

jsFiddle中的另一个问题是,您没有选择<a>元素,而是选择了<h2>。最后,正在遵循链接。 Here's all that fixed.


你可能会考虑的其他事情是element.innerText没有得到我所见过的非常好的浏览器支持(即它只适用于IE)。只是一个小小的注意事项。

答案 1 :(得分:0)

除了更正语法外,您还希望将类应用于锚点。

$('#textContainer h2 a').click(function() {
    var title = this.innerText;
    $(this).addClass('selected');
 });

答案 2 :(得分:0)

要访问当前元素,您必须使用$(this)而不仅仅是this

这是更新的小提琴。 http://jsfiddle.net/v32qy/6/

我还改变了使用jQuery text()函数

获取内部文本的方式