JQuery h2选择器问题

时间:2009-09-14 21:35:46

标签: jquery css

我在让JQuery Selector访问特定HTML元素时遇到问题。

我有一个<h2>标记,我试图从中删除CSS类,然后根据一些用户操作为其添加一个新类。

我的<h2> CSS定义为:

html .image_thumb ul li h2 {
    color : #ffffff;
    font-size: 1.5em; 
    margin: 5px 0; padding: 0;
}

我的HTML代码段如下:

'<div id="div_image_thumb" class="image_thumb">
<ul>
    <li class="LI1">
        <a href="./images/sample1.jpg"></a>
        <div class="block">
            <h2>This is my header</h2>
            <small>Lorem Ipsum Article Titles Running </small>
            <p>Lorem Ipsum Details...<br /><a href="" target="_blank">Read More</a> </p>
        </div>
    </li>

等...

我的JQuery调用如下:

$("div#div_image_thumb ul .LI1 div h2").removeClass();

但它不会删除该类。有什么想法吗?

6 个答案:

答案 0 :(得分:2)

这不是您的问题,但您需要将参数传递给removeClass()。像:

$('#foo').removeClass('active');

更改CSS以实际将类分配给h2,如下所示:

html .image_thumb ul li h2.myClass{ 
    color : #ffffff; 
    font-size: 1.5em; 
    margin: 5px 0; 
    padding: 0; 
}

改变这个:

<h2>This is my header</h2>

到此:

<h2 class="myClass">This is my header</h2>

让jQuery这样做:

$("div#div_image_thumb ul .LI1 div h2").removeClass('myClass');

试一试 - 祝你好运

答案 1 :(得分:1)

您要删除哪个班级?

h2没有与之关联的类。

也许更改你的css行通过某些类应用这些样式,并将该类添加到HTML源代码中的h2?

html .image_thumb ul li h2.startclass { color : #ffffff; font-size: 1.5em; margin: 5px 0; padding: 0; }

然后:

<div id="div_image_thumb" class="image_thumb">
<ul>
        <li class="LI1">
                <a href="./images/sample1.jpg"></a>
                <div class="block">
                        <h2 class="startclass">This is my header</h2>
                        <small>Lorem Ipsum Article Titles Running </small>
                        <p>Lorem Ipsum Details...<br /><a href="" target="_blank">Read More</a> </p>
                </div>
        </li>

答案 2 :(得分:0)

似乎是一个不必要的长选择器,请尝试

$(".block > h2").removeClass();

是的,jimyi是对的,你的h2在你发布的片段中没有class属性

答案 3 :(得分:0)

$("#div_image_thumb div.block > h2").removeClass(); 

我将重申其他人已经说过的内容 - <h2>元素没有定义类属性。

答案 4 :(得分:0)

您正在尝试删除实际未分配给H2的课程。

为特定位置的<h2>元素定义了css属性,但是没有在那里定义实际的类名。更好的选择是使用jQuery.css()方法并设置单独的样式属性。

或者,您应该使用jQuery.addClass并为H2元素指定一组样式,以覆盖默认值。

答案 5 :(得分:0)

您的选择器不正确。尝试

div#div_image_thumb ul li.LI1 div h2

我建议尽量简化它。为什么不呢

".li1 h2"