jquery选择元素

时间:2010-08-04 18:22:09

标签: javascript jquery

面对jQuery选择器的一些问题。

我的HTML就像:

<form method="" action="">  
    <p id="question_1">  
        <h1 id="question">1. A Question</h1>  
        <div id="choices">  
            <p id="option1"><input type="radio" id="option" name="q_1" value="1" />A</p>  
            <p id="option2"><input type="radio" id="option" name="q_2" value="2" />B</p>  
            <p id="option3"><input type="radio" id="option" name="q_3" value="3" />C</p>              
        </div>  
    </p>      
.  
.  
.  
</form>

有这样的问题。

我想突出显示&lt; p&gt;包含每个问题的第3个单选按钮。例如,

    p#question_1 > p#option3  
    p#question_2 > p#option3  
    p#question_3 > p#option3  

怎么做?

我正在尝试这样的事情,没有任何成功:

$("form p#question_" + i).filter("p:eq(3)").addClass("correct");

5 个答案:

答案 0 :(得分:1)

  

我想突出显示<p>包含的内容   每个的第3个单选按钮   问题

使用^选择器与nth-child一起使用,如下所示:

$('p[id^="question"]:nth-child(3)').addClass('correct');

^="question"所做的是选择所有以question文字开头的段落,然后nth-child(3)用于选择第三段。

更多信息:

答案 1 :(得分:1)

如果你的第三个答案总是正确的,你可能会选择这样的话:

<p class="first">Blah blah</p>
<p class="second">Blah blah</p>
<p class="third">Blah blah</p>

然后简单地说:

$("p.third").addClass("correct");

这应该会诱使你摆脱那些欺骗ID。

答案 2 :(得分:1)

如果你有很多div的答案,我认为你想要这个吗?用DivChoices装饰每个这样的div,然后:

$(".DivChoices").each(function (index, item) { $("p", item).last().addClass('correct'); });

答案 3 :(得分:0)

有很多方法可以做到这一点,这是一个很好的jQuery选择器refcard,将来对你非常有用。

http://refcardz.dzone.com/refcardz/jquery-selectors

答案 4 :(得分:0)

是否可以为每个问题的第三个选项添加一个类?