为什么我的html中的类的顺序有所不同?

时间:2014-11-11 20:34:25

标签: jquery class

如果选择了具有某个类的元素,我想将1添加到变量中。您可以在我的代码中看到每个p元素有两个类:' p-choice'以及',' b',' c'或' d'如果带有字母的类是第一个它可以工作,但如果不是,它不会。

<div class='choices' id='choices1'>
    <p class='a' class='p-choice'>Choice A</p>
    <p class='p-choice' class='b'>Choice B</p>
    <p class='p-choice' class='c'>Choice C</p>
    <p class='p-choice' class='d'>Choice D</p>
</div>
$(document).ready(function() {
    var score = 0;

    function selecting() {
        $('.choices p').on('click', function() {
            $(this).closest('.choices').find('p').removeClass('selected');
            $(this).addClass('selected');
            if ($(this).hasClass('b')) {
                score += 1;
            }
        });

        $('.submit').click(function() {
            $(this).prev('.choices').find('p').off('click');
            $('.score').text('Score is ' + score);
        });
    };

    selecting();
});

2 个答案:

答案 0 :(得分:1)

每个属性(如类)只能对元素使用一次。而不是

<p class='a' class='p-choice'>Choice A</p>

您应该将两个类名称添加为一个类属性:

<p class='a p-choice'>Choice A</p>

答案 1 :(得分:1)

属性的排序没有区别。您的代码不起作用,因为每个元素只能有一个class属性 - 与任何其他属性完全相同。您需要使用空格分隔每个类:

<div class='choices' id='choices1'>
    <p class='a p-choice'>Choice A</p>
    <p class='p-choice b'>Choice B</p>
    <p class='p-choice c'>Choice C</p>
    <p class='p-choice d'>Choice D</p>
</div>