对于HTML标记,例如<input type="hidden">
,当我查看浏览器的标准CSS时,我看到:
input[type="hidden" i] {
display: none;
}
所以我把它添加到我的CSS:
input[type="hidden" i] {
display: block !important;
}
对于HTML,我有<input name=countrycode type=hidden value=US>
当我打开开发人员工具时,我可以看到旧的display:none
被忽略,但是,该字段从未显示在页面中并且仍然隐藏!
为什么浏览器不遵循我的CSS规则,是否有其他方法强制它这样做?如果我添加width: 200;height:200;background: black
,这应该会显示在页面中,对吗?
我想这样做的原因是因为我在许多页面中有很多隐藏的输入,现在我希望它们可见(从用户那里获得输入)所以我决定用CSS快速完成。我知道这可以通过JavaScript轻松完成,但只是好奇为什么CSS不起作用或者它可能适用于其他浏览器但不适用于谷歌浏览器?
答案 0 :(得分:1)
隐藏input[type=hidden]
的原因是因为它没有控件类型来向用户显示其价值,因此您的display: block;
应该有效,但是浏览器没有任何东西可以渲染。您隐藏的输入可以是复选框,文本字段或数字。
答案 1 :(得分:0)
您应该给该输入一个id =“ countrycode”,然后像这样使用javascript将type属性的值从“ hiden”设置为“ text”:
document.getElementById("countrycode").setAttribute("type", "text");
或者,如果您更喜欢使用name属性,请执行以下操作:
document.getElementByName("countrycode").setAttribute("type", "text");
Voila!