谁能帮我解决这个问题?
$(document).ready(function() {
if(
$("input.check").is(":checked")){
$(this).parent().addClass("question-box-active");
}
});
我试图添加一个类(question-box-active)的父。check(一个单选按钮)只有当它被选中。如果我使用警报进行测试,它可以正常工作,但我无法添加那个类。
谢谢大家的帮助。
Update:这是表单的HTML。我只抄了48条中的3条。正如你可能已经猜到,我试图添加一个类的问题框,如果单选按钮已经在页面加载选中。到目前为止还没有。
<div class="question-box">
<input class="check" type="checkbox" name="question-1" value="1" <?php if(isset($_POST['question-1'])) echo "checked"; ?> />
<span class="question">1. Save a rainforest or grow organic vegetables</span>
</div>
<div class="question-box alt">
<input class="check" type="checkbox" name="question-2" value="1" <?php if(isset($_POST['question-2'])) echo "checked"; ?> />
<span class="question">2. Solve complicated math problems</span>
</div>
<div class="question-box">
<input class="check" type="checkbox" name="question-3" value="1" <?php if(isset($_POST['question-3'])) echo "checked"; ?> />
<span class="question">3. Act in a movie, play, or television show</span>
</div>
试试
$('input.check').is(':checked').each(function() {
$(this).parent().addClass('question-box-active');
});
我认为$(this)
在您的情况下不是指单选按钮
你可以绑定单选按钮的click事件,并决定从那里做什么…
$(document).ready(function(){
$("input.check").click(function(){
if($(this).is(":checked")){
$(this).parent().addClass("question-box-active");
}
});
});
您正在使用的this
是在ready
处理程序回调的函数上下文中,所以它不是指向input.check
如您所期望的。
试试这样:
$(document).ready(function() {
var foo = $('input.check');
if ( foo.is(':checked') ) {
foo.parent().addClass('question-box-active');
}
});
假设你的代码逻辑是正确的。然而,我猜想您正在尝试做与Doug在另一个答案中提供的类似的事情。张贴一些HTML可能有助于澄清。
可以。
$(document).ready(function() {
var foo = $('input.check:checked');
if ( foo.is(':checked') ) {
foo.parent().addClass('question-box-active');
}
});