Javascript 如何更改某个分区中输入元素的类别
我在div中有“next”类的输入字段,如下所示:Javascript 如何更改某个分区中输入元素的类别,javascript,jquery,Javascript,Jquery,我在div中有“next”类的输入字段,如下所示: <div id="Q1"> <input class="next" type="radio" id="listIt_YN_UA" name="listIt_YN" value="U"> <label for="listIt_YN_UA"><span class="red">Come Back To This Question At A
<div id="Q1">
<input class="next" type="radio" id="listIt_YN_UA" name="listIt_YN" value="U">
<label for="listIt_YN_UA"><span class="red">Come Back To This Question At A Later Time</span></label><br /><br />
</div>
我试图用上述函数中的语句更改当前可见div中的“next”类。我已经尝试了一些方法,比如下面的方法,但是没有一种有效。有什么想法吗
$("." + tab_pool[curr_ind]).removeClass("next").addClass("newNext");
尝试:
您需要在
选项卡\u pool
ID之前使用
而不是
,然后使用.find('input')
来访问输入元素。让我特别显示ID为Q1
的div的代码-
$(".next").click(function toggle(){
if($("#" + "Q1" + ">input[type=radio]").attr('checked')==undefined)
{
$("input[type=radio]").attr('checked', true);
$("input[type=radio]").removeClass("next").addClass("newNext");
}
else
{
$("input[type=radio]").removeAttr('checked');
$("input[type=radio]").removeClass("newNext").addClass("next");
}
})
因此,基本上实现中的jquery对象是
$("#" + tab_pool[curr_ind] + ">input[type=radio]")
选中此项在HTML中带有
class=“Q1”
、class=“Q2”
等的元素在哪里?@Barmar这不是类,它是div id那么为什么要在jQuery选择器中将
放在它前面呢?使用#
作为ID,使用
作为类。以及$(“.tab:visible”)
如何与您提供的html相关。我认为这个函数与您正在使用的html完全没有关系。@Barmar用#尝试id,尝试(.next)什么都不起作用。该函数本身的工作似乎不能改变输入它的类,不好!还尝试了$('..+tab_pool[curr_ind]).find('input').removeClass('next').addClass('newNext');我在上面要求您制作一个小提琴来显示您当前的代码。如果不看代码,就不可能知道你做错了什么。如果我给你一个页面链接,并解释一下发生了什么事情,那就更容易了。好的,在你工作的时候给我一个指向真实页面的链接。
$(".next").click(function toggle(){
if($("#" + "Q1" + ">input[type=radio]").attr('checked')==undefined)
{
$("input[type=radio]").attr('checked', true);
$("input[type=radio]").removeClass("next").addClass("newNext");
}
else
{
$("input[type=radio]").removeAttr('checked');
$("input[type=radio]").removeClass("newNext").addClass("next");
}
})
$("#" + tab_pool[curr_ind] + ">input[type=radio]")