如何在Javascript HTML中显示隐藏的元素

时间:2016-11-22 18:56:51

标签: javascript html css node.js

我隐藏了我的div =" true"哪个有效但是 我想在点击一下按钮后显示它。

我使用Node.js,这部分必须用Javascript编码。

HTML:

div class="sideDiv" hidden="true">

的javascript:

我用show()尝试了它,但它没有用。

socket.on('loginInServer',function(data){
        $('.sideDiv').show();
    });

5 个答案:

答案 0 :(得分:3)

$('.sideDiv').attr('hidden', false);

但是你可能想要首先隐藏它而不使用隐藏属性,老实说我没见过任何人使用隐藏属性(除了隐藏的表单字段)。

最简单的方法是在你的css中使用它:

.sideDiv{display: none;}

或者如果你很懒,你可以在html中将它嵌入元素本身:

<div class="sideDiv" style="display: none"></div>

然后当你的页面加载时,它将被隐藏,你正在做什么.show()将起作用,因为jQuery函数在dom元素的“display”样式上运行。

答案 1 :(得分:3)

使用removeAttr()方法删除属性。

ocket.on('loginInServer',function(data){
    $('.sideDiv').removeAttr('hidden');
});

<小时/> 或者使用attr()方法将属性更新为false。

ocket.on('loginInServer',function(data){
    $('.sideDiv').attr('hidden', false);
});

<小时/> 或者使用prop()方法将属性设置为false。

ocket.on('loginInServer',function(data){
    $('.sideDiv').prop('hidden', false);
});

仅供参考:用于隐藏元素集CSS display:none;,这将是更好的方式,稍后您可以使用show()方法显示。

答案 2 :(得分:2)

样式"display:none"和属性hidden="true"的呈现方式不同。

hidden

  

隐藏的全局属性是一个布尔属性,表示该元素尚未或不再相关。例如,它可用于隐藏在登录过程完成之前无法使用的页面元素。浏览器不会使用隐藏属性集渲染元素。

jQuery&#39; show更改了元素的style,但未修改属性hidden

show

  

...这大致等同于调用.css(&#34;显示&#34;,&#34;阻止&#34;)......

您需要使用jQuery&#39; attrprop来修改属性hidden

$('.sideDiv').attr('hidden', false);

$('.sideDiv').prop('hidden', false);

答案 3 :(得分:2)

如上所述,您应该删除隐藏属性并使用css隐藏元素。

.sideDiv {
  display: none;
}

然后jquery的show()方法将起作用。

答案 4 :(得分:1)

除了之前的答案,您还可以在简单的JS中执行此操作:

document.querySelector(".sideDiv").setAttribute("hidden", "false");