我在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 Later Time</span></label><br /><br />
</div>
然后是以下功能:
function answerQ(value) {
var tab_pool = ["Q1", "Q2", "Q3", "Q4", "Q5", "Q6", "Q7", "Q8", "Q9", "Q10", "Q11", "Q12"];
var visible = $(".tab:visible").attr('class').split(" ")[1];
var curr_ind = $.inArray(visible, tab_pool);
var returnTo = value;
$(".tab:visible").hide();
curr_ind = curr_ind - returnTo;
$("." + tab_pool[curr_ind]).show();
document.getElementById(tab_pool[curr_ind]).checked=false;
$(".finished").hide();
$(".next").show();
}
我正在尝试使用上面函数中的语句更改当前可见div中的“next”类。我尝试了一些如下所示的东西,但没有一个在起作用。有什么想法吗?
$("." + tab_pool[curr_ind]).removeClass("next").addClass("newNext");
答案 0 :(得分:0)
尝试:
$('#'+tab_pool[curr_ind]).find('input').removeClass('next').addClass('newNext');
您需要在#
ID之前使用.
而不是tab_pool
,然后使用.find('input')
转到输入元素。
答案 1 :(得分:0)
让我展示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]")
选中 fiddle demo