我正在使用 CSS 隐藏单选按钮,但我想使用 Javascript 在一页上显示它们
I am using CSS to hide radio buttons, but I would like to display them on one page using Javascript
在 Qualtrics 上,我输入了以下 CSS 以隐藏整个调查中的单选按钮:
input[type=radio]{
visibility: hidden;
}
但是我希望它们显示一页。我只能使用 javascript 来做到这一点。
可能吗?
完成此操作的最简单方法之一是在 CSS:
中创建一个单独的 class
.hidden { visibility: hidden; }
然后根据需要添加或删除 class。例如:
document.getElementById("special-checkbox").classList.add('hidden');
如果您绝对必须像在您的问题中一样使用声明 input[type=radio]
,那么您可以使用相同的技术覆盖它:
input[type=radio].shown {
visibility: visible;
}
并且您将像上面一样使用 javascript 将 shown
class 添加到那些正在取消隐藏的项目。因为这个限定符比你的一般选择器更具体,所以它会优先。
编辑
我错过了什么。如果您希望隐藏或显示特定页面上的所有单选按钮,您可以将 class 附加到 DOM 中的任何共同祖先,然后使用级联。例如,您可以将 class show-radio
附加到层次结构中较高的某个 DIV 标记(使用上述技术),然后以下规则会将您的意图级联到所有无线电输入。
show-radio input[type=radio] {
visibility: visible;
}
这很好,因为您只需设置一次 class,而不是为每个元素设置一次。
使用jQuery,您可以:
$('input[type=radio]').css({可见度: 'visible'});
无需添加 jQuery 库。 Qualtrics 使用 prototype.js,您可以使用它。只需将以下 JavaScript 添加到您页面上的第一个问题:
Qualtrics.SurveyEngine.addOnload(function() {
$$('input[type=radio]').each(function(obj) {
obj.style.visibility = 'visible';
});
});
代码找到页面上的所有单选按钮并将它们更改为可见。
在 Qualtrics 上,我输入了以下 CSS 以隐藏整个调查中的单选按钮:
input[type=radio]{
visibility: hidden;
}
但是我希望它们显示一页。我只能使用 javascript 来做到这一点。
可能吗?
完成此操作的最简单方法之一是在 CSS:
中创建一个单独的 class.hidden { visibility: hidden; }
然后根据需要添加或删除 class。例如:
document.getElementById("special-checkbox").classList.add('hidden');
如果您绝对必须像在您的问题中一样使用声明 input[type=radio]
,那么您可以使用相同的技术覆盖它:
input[type=radio].shown {
visibility: visible;
}
并且您将像上面一样使用 javascript 将 shown
class 添加到那些正在取消隐藏的项目。因为这个限定符比你的一般选择器更具体,所以它会优先。
编辑
我错过了什么。如果您希望隐藏或显示特定页面上的所有单选按钮,您可以将 class 附加到 DOM 中的任何共同祖先,然后使用级联。例如,您可以将 class show-radio
附加到层次结构中较高的某个 DIV 标记(使用上述技术),然后以下规则会将您的意图级联到所有无线电输入。
show-radio input[type=radio] {
visibility: visible;
}
这很好,因为您只需设置一次 class,而不是为每个元素设置一次。
使用jQuery,您可以:
$('input[type=radio]').css({可见度: 'visible'});
无需添加 jQuery 库。 Qualtrics 使用 prototype.js,您可以使用它。只需将以下 JavaScript 添加到您页面上的第一个问题:
Qualtrics.SurveyEngine.addOnload(function() {
$$('input[type=radio]').each(function(obj) {
obj.style.visibility = 'visible';
});
});
代码找到页面上的所有单选按钮并将它们更改为可见。