Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 隐藏没有CSS的元素_Javascript_Css - Fatal编程技术网

Javascript 隐藏没有CSS的元素

Javascript 隐藏没有CSS的元素,javascript,css,Javascript,Css,如果禁用了CSS,但JavaScript没有禁用,那么如何隐藏元素(在我的例子中是一个文件输入字段)?尽管启用CSS后,以下各项都不起作用: element.style.display = 'none'; element.style.visibility = 'hidden'; element.hidden = 'hidden'; element.hidden = true; element.setAttribute('hidden','hidden'); element.setAttribut

如果禁用了CSS,但JavaScript没有禁用,那么如何隐藏元素(在我的例子中是一个文件输入字段)?尽管启用CSS后,以下各项都不起作用:

element.style.display = 'none';
element.style.visibility = 'hidden';
element.hidden = 'hidden';
element.hidden = true;
element.setAttribute('hidden','hidden');
element.setAttribute('hidden',true);

据我所知,当CSS被禁用时,唯一可以隐藏的是一个隐藏的输入字段。也许这能找到解决办法。感谢您的帮助,谢谢

您可以从DOM中删除元素:

element.parentNode.removeChild(element);
如果您想稍后恢复它,可以将其HTML代码(或对元素本身的引用)存储在变量中。对于表单字段,可能还需要存储其值,然后在恢复元素本身后恢复该值


也可以考虑使用,尽管浏览器的支持可能不会太大(并且属性本身可以从HTML标准中删除)。

< P>因为它是<代码>输入< /C>元素,您可以将它的<代码>类型< /代码>改为隐藏:

element.type = "hidden";
但是请注意,这在某些IE版本中不起作用。在这种情况下,我认为您需要创建一个新元素,将其命名为
hidden
类型,然后交换它们


演示:

我想您可能会滥用
区域
元素来隐藏其中的某些内容

//hide element
var hiddenContainer = document.createElement("AREA");
element.parentNode.insertBefore(hiddenContainer, element);
hiddenContainer.appendChild(element);

//show element
hiddenContainer.parentNode.insertBefore(element, hiddenContainer);

“如果CSS被禁用”-如果HTML被禁用怎么办?这种奇怪的要求有什么真正的原因吗?不是很实际的原因,有点像挑战。我希望这是事实,不会投入生产;-)-1因为我觉得这个问题实际上没有用。CSS是设计HTML样式的语言,可见性控制是样式设计的一部分。这是为了符合508标准吗?我已经看到了。如果只存储内容-您将不知道实际在哪里还原它。@要还原元素,可以保留引用并在以后使用。例如,
var elementCache={};elementCache[element.id]=元素。现在可以从DOM中删除元素,以后再恢复。如有必要,您还可以存储对其父级的引用,例如
elementCache[element.id+'\u parent']=element.parenNode@RobG:parent也不够
fooremovemebar
OP可以将空白范围作为占位符,这取决于他们试图做什么。