如果选中复选框和单选按钮,我想将“选定”类添加到复选框。我在网上找到了以下代码,可以使用复选框。
我还需要更改以在代码中包含单选按钮吗?
<script>
var inputs = document.getElementsByTagName("input");
var checkboxes = [];
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "checkbox") {
checkboxes.push(inputs[i]);
if (inputs[i].checked) {
checked.push(inputs[i]);
}
}
}
for (var j = 0; j < checkboxes.length; j++) {
checkboxes[j].onclick = function() {
if (this.checked == true) {
this.className += " selected";
} else {
removeClassName(this, 'selected');
}
}
}
function removeClassName(e,t) {
if (typeof e == "string") {
e = xGetElementById(e);
}
var ec = ' ' + e.className.replace(/^\s+|\s+$/g,'') + ' ';
var nc = ec;
if (ec.indexOf(' '+t+' ') != -1) {
nc = ec.replace(' ' + t + ' ',' ');
}
e.className = nc.replace(/^\s+|\s+$/g,'');
return true;
}
</script>
答案 0 :(得分:1)
您不需要javascript。
有一个css选择器,它是:checked
input[type="radio"]:checked {
/* Use the css of selected class */
}
答案 1 :(得分:0)
这是JSFiddle源https://jsfiddle.net/rj1405/Lnv70bsu/14/
而不是像
那样添加类名this.className + =&#34;选择&#34 ;;
我正在尝试通过javascript方法添加
输入[I] .classList.add(&#39;选择&#39);
请找到以下代码供您参考。
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "checkbox" || inputs[i].type == "radio") {
if (inputs[i].checked) {
inputs[i].classList.add('selected');
// console.log(inputs[i].classList);
// console.log(inputs[i]);
}
}
}
&#13;
<input type="radio" name="imgsel" value="" checked="checked" />
<input type="radio" name="imgse2" value="" checked/>
<input type="checkbox" name="vehicle" value="Car" checked>
&#13;