Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为Div内的无线电链接jQuery removeAttr_Jquery - Fatal编程技术网

如何为Div内的无线电链接jQuery removeAttr

如何为Div内的无线电链接jQuery removeAttr,jquery,Jquery,我有一个复选框,用于显示/隐藏包含单选按钮网格的div。在我的页面底部有一个jQuery: $(document).ready(function(){ $('#cb1_1').click(function(){ $('div#QxGrid').slideToggle('slow'); }); }); 这很有效。当单选按钮被隐藏时,尽管我希望页面自动取消选中选中的任何收音机,但我尝试链接一个removeAttr('checked'): $('#cb1_1').click(function(

我有一个复选框,用于显示/隐藏包含单选按钮网格的div。在我的页面底部有一个jQuery:

$(document).ready(function(){
  $('#cb1_1').click(function(){ $('div#QxGrid').slideToggle('slow');
 });
});
这很有效。当单选按钮被隐藏时,尽管我希望页面自动取消选中选中的任何收音机,但我尝试链接一个removeAttr('checked')

$('#cb1_1').click(function(){ $('div#Qx1').removeAttr('checked').slideToggle('slow'); });
这不管用。。。这是因为jQuery需要id为Qx1的无线电吗?(Qx1 div中没有一堆收音机?)HTML摘录(缩写)看起来像

<div id="Qx1">
  <p class="ans">
    <input type="radio" name="q1" id="q11" value="1"> etc.
    <input type="radio" name="q1" id="q12" value="2"> etc.
    <input type="radio" name="q1" id="q13" value="3"> etc.
  </p>
</div>

等 等 等


正确。按照您的方式,它希望从div中删除属性“checked”。只需在click()中添加另一行即可取消选中任何选中的内容:

$(document).ready(function(){
  $('#cb1_1').click(function(){ 
    $('p.ans').children('input').removeAttr('checked');
    $('div#Qx1').slideToggle('slow');
 });
});

对。按照您的方式,它希望从div中删除属性“checked”。只需在click()中添加另一行即可取消选中任何选中的内容:

$(document).ready(function(){
  $('#cb1_1').click(function(){ 
    $('p.ans').children('input').removeAttr('checked');
    $('div#Qx1').slideToggle('slow');
 });
});

div没有选中属性
,因为它不应该被选中,这就是为什么它不工作的原因。下面应该可以工作,注意链式方法的顺序非常重要,因为您希望在遍历其子无线电输入之前对div执行所需的所有操作:

$('#q1voc_1').click(function()
{ 
    $('div#Qx1').slideToggle('slow').children('input[type=radio]').each(function()
    {
        $(this).removeAttr('checked');
    }); 
});
我必须尝试一下,但您也可以将
$('div#Qx1')…
部分简化为:

$('div#Qx1').slideToggle('slow').children('input[type=radio]').removeAttr('checked');

div没有选中属性
,因为它不应该被选中,这就是为什么它不工作的原因。下面应该可以工作,注意链式方法的顺序非常重要,因为您希望在遍历其子无线电输入之前对div执行所需的所有操作:

$('#q1voc_1').click(function()
{ 
    $('div#Qx1').slideToggle('slow').children('input[type=radio]').each(function()
    {
        $(this).removeAttr('checked');
    }); 
});
我必须尝试一下,但您也可以将
$('div#Qx1')…
部分简化为:

$('div#Qx1').slideToggle('slow').children('input[type=radio]').removeAttr('checked');
编辑: 没错,内噬菌体:

$('div#Qx1').slideToggle('slow').find('input[type=radio]').removeAttr('checked');
这样你就不需要结尾了

编辑: 没错,内噬菌体:

$('div#Qx1').slideToggle('slow').find('input[type=radio]').removeAttr('checked');

这样,您就不需要end()

只需重新排序链接,而不是使用
end()
就可以更干净。只需重新排序链接,而不是使用
end()
$('p.ans')。子项('input')
将与
$('p.ans input')
$('p.ans相同.children('input')
将与
$('p.ans input')