我正在使用CSS隐藏单选按钮,但我想使用Javascript在一个页面上显示它们

时间:2015-04-23 23:49:34

标签: javascript css radio-button qualtrics

在Qualtrics上,我输入了以下CSS来隐藏整个调查中的单选按钮:

input[type=radio]{
visibility: hidden;  
}

但是我希望它们显示为一页。我只能用javascript来做这件事。

有可能吗?

3 个答案:

答案 0 :(得分:2)

实现此目的的最简单方法之一是在CSS中创建一个单独的类:

.hidden { visibility: hidden; }

然后根据需要添加或删除该类。例如:

document.getElementById("special-checkbox").classList.add('hidden');

如果您绝对必须在问题中使用声明input[type=radio],那么您可以使用相同的技术覆盖它:

input[type=radio].shown {
  visibility: visible;
}

你将像上面一样使用javascript将shown类添加到那些被取消隐藏的项目中。因为此限定符比您的常规选择器更具体,所以它将优先。

修改

我错过了什么。如果您希望隐藏或显示特定页面上的所有单选按钮,则可以将类附加到DOM中的任何公共祖先,然后使用级联。例如,您可以将类show-radio附加到层次结构中较高的某个DIV标记(使用上述技术),然后以下规则将您的意图级联到所有无线电输入。

show-radio input[type=radio] {
  visibility: visible;
}

这很好,因为你只需要设置一次类,而不是每个元素设置一次。

答案 1 :(得分:1)

无需添加jQuery库。 Qualtrics使用prototype.js,您可以使用它。只需将以下JavaScript添加到您网页上的第一个问题:

Qualtrics.SurveyEngine.addOnload(function() {
    $$('input[type=radio]').each(function(obj) {
        obj.style.visibility = 'visible';
    });
});

代码找到页面上的所有无线电单选按钮并将其更改为可见。

答案 2 :(得分:0)

使用jQuery,您可以:

$('输入[type = radio]')。css({visibility:' visible'});