代码之家  ›  专栏  ›  技术社区  ›  Ry-

jqueryh2选择器问题

  •  0
  • Ry-  · 技术社区  · 15 年前

    我在获取JQuery选择器以访问特定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>
    

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

    但它并没有删除该类。有什么想法吗?

    6 回复  |  直到 13 年前
        1
  •  2
  •   brettkelly    15 年前

    这不是您的问题,但您需要将参数传递给 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');
    

    试试看——祝你好运

        2
  •  1
  •   timdev    15 年前

    您要删除哪个类?

    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>
    
        3
  •  0
  •   marauder    15 年前

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

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

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

        4
  •  0
  •   Russ Cam    15 年前

    尝试

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

    我要重申大家已经说过的话——那就是 <h2> 元素没有定义类属性。

        5
  •  0
  •   Phil.Wheeler    15 年前

    <h2>

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

        6
  •  0
  •   womp    15 年前

    您的选择器不正确。尝试

    div#div_image_thumb ul li.LI1 div h2
    

    不过,我建议简化一下。为什么不

    ".li1 h2"