单选按钮选中后改变DIV
<divid="good"><label><inputtype="radio"name="xuan"value="1"onclick="ok(this)"/><divcl...
<div id="good">
<label><input type="radio" name="xuan" value="1" onclick="ok(this)" /><div class="aa">男人</div></label>
<label><input type="radio" name="xuan" value="2" onclick="ok(this)" /><div class="aa">女人</div></label>
</div>
选中哪个按钮,哪个按钮后的<div class="aa">变成<div class="aa bb">。
要能交替变化,选中的永远是<div class="aa bb">,未选中的是<div class="aa">。
请直接贴出代码和有效解决方法,谢谢!
采纳时再加100,谢谢! 展开
<label><input type="radio" name="xuan" value="1" onclick="ok(this)" /><div class="aa">男人</div></label>
<label><input type="radio" name="xuan" value="2" onclick="ok(this)" /><div class="aa">女人</div></label>
</div>
选中哪个按钮,哪个按钮后的<div class="aa">变成<div class="aa bb">。
要能交替变化,选中的永远是<div class="aa bb">,未选中的是<div class="aa">。
请直接贴出代码和有效解决方法,谢谢!
采纳时再加100,谢谢! 展开
1个回答
展开全部
js代码如下:
var radio = document.querySelectorAll('input[name="xuan"]');//选中所有同名单选框
function ok (check) {
for(var i=0;i<radio.length;i++){//遍历同名单选框
if(radio[i]==check){//如果点击的是当前单选框
radio[i].setAttribute("data-checked","yes");//修改属性,设为标识
radio[i].parentNode.childNodes[1].setAttribute('class',"aa bb");//修改类名
}else if(radio[i].getAttribute('data-checked')){
radio[i].removeAttribute('data-checked');
radio[i].parentNode.childNodes[1].setAttribute('class',"aa");
}
}
}
你的html页面什么都不用改动,只需要把js抄下来就可以了。对了,你的ok函数要用我这个才可以。
如果我的回答解决了你的问题,请采纳!你的采纳是我答题的动力!
如有疑问,请追问!
追问
请问是ok(this)改成ok (check)吗?
追答
onclick="ok(this)"
这一句不能改。js代码直接copy就行了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询