【发布时间】:2019-04-13 20:45:36
【问题描述】:
我正在关注我在此处找到的出色示例:CSS - How to Style a Selected Radio Buttons Label? 尝试设置一组单选按钮的样式,这些单选按钮是我使用 javascript 动态创建的。虽然我设法创建按钮,但我找不到有关如何更改当前选定单选按钮标签背景的解决方案。在我的示例中,颜色仅在悬停期间发生变化,但除了被选中外,还会恢复正常。
我在 JSFiddle 上的代码:https://jsfiddle.net/dsarh65p/2/
供参考:
HTML
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body>
<div class="btn-group" data-toggle="buttons">
<span id=car></span>
</div>
</body>
</html>
JS
var array = ["Saab", "Volvo", "BMW"];
var item = document.createElement('div');
item.className = 'radio-toolbar';
for (var i = 0; i < array.length; i++) {
var input = document.createElement('input');
var input_label = document.createElement('label');
input.type = 'radio';
input.name = 'radio-btn';
input.id = 'radio' + i;
input.value = "true";
input_label.innerHTML = array[i];
input_label.setAttribute("class", "btn btn-primary");
input_label.appendChild(input);
item.appendChild(input_label);
document.getElementById("car").appendChild(item);
}
CSS
.radio-toolbar input[type="radio"] {
display: none;
}
.radio-toolbar label {
display: inline-block;
background-color: #ddd;
padding: 4px 11px;
font-family: Arial;
font-size: 16px;
cursor: pointer;
}
.radio-toolbar input[type="radio"]:checked {
background-color: #bbb;
}
【问题讨论】:
-
更新的 JSFiddle-link - 在原始问题中有旧版本
-
链接示例中的标记与您的不同。
标签: javascript html css