如果选择了具有某个类的元素,我想将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();
});
答案 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>