单选按钮选中后改变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,谢谢!
展开
 我来答
我是天使的亲戚
2015-09-09 · TA获得超过3965个赞
知道小有建树答主
回答量:609
采纳率:66%
帮助的人:454万
展开全部

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就行了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式