display:none、visibility:hidden、jquery效果

1.display:none、visibility:hidden

1.display:none

功能:让页面元素不可见,无法点击,且占据的空间消失
使用:

<body>
    <div>
        <strong>给元素设置display:none样式</strong>
        <p>A元素</p>
        <p style='display:none;'>B元素</p>
        <p>C元素</p>
    </div>
</body>

效果:
在这里插入图片描述

2.visibility:hidden

功能:

​ 1.隐藏元素,但是仍占用空间,影响页面布局
​ 2.具有继承性,父元素设置visibility:hidden 子元素也会继承这个属性;但是给子元素设置visibility:visible,子元素会重新显示出来。
​ 3.不会影响计数

使用:

<body>
    <div>
        <strong>给元素设置visibility:hidden样式</strong>
        <p>A元素</p>
        <p style='visibility:hidden;'>B元素</p>
        <p>C元素</p>
    </div>

效果:
在这里插入图片描述

使用:

    <body>
        <div>
            <strong>给元素设置visibility:hidden样式</strong>
            <ol>
                <li>元素1</li>
                <li style="visibility:hidden;">元素2</li>
                <li>元素3</li>
                <li>元素4</li>
            </ol>
        </div>
        <div>
            <strong>给元素设置display:none样式</strong>
            <ol>
                <li>元素1</li>
                <li style="display:none;">元素2</li>
                <li>元素3</li>
                <li>元素4</li>
            </ol>
        </div>
    </body>

效果:
在这里插入图片描述

2.jquery效果 hide()、show()、toggle()

语法:

$(selector).hide(speed,callback)
$(selector).show(speed,callback)
$(selector).toggle(speed,callback)

使用:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<style>
div{
width: 130px;
height: 50px;
padding: 15px;
margin: 15px;
background-color: green;
}
</style>
<script>
$(document).ready(function(){
  $("#hide").click(function(){
    $("#p1").hide();
  });
  $("#show").click(function(){
    $("#p1").show(1000);
  });
  $("#hidebtn").click(function(){
	$("div").hide(1000,"linear",function(){
		alert("Hide() 方法已完成!");
	});
   });
  $("#hideAndShow").click(function(){
    	$("#p2").toggle();
   });
});
</script>
</head>
<body>
<p id="p1">如果你点击“隐藏” 按钮,我将会消失。</p>
<button id="hide">隐藏</button>
<button id="show">显示</button><hr>
	
<div>隐藏及设置回调函数</div>
<button id="hidebtn">带方法的隐藏按钮</button><hr>
	
<p id="p2">这是一个用来显示/隐藏切换的文本</p>
<button id="hideAndShow">显示/隐藏</button><hr>
	

</body>
</html>

3.jquery引用语法

id ="p1"        $("#p1");
<button>        $("button")
class="btn"     $(".btn")
<think>我们有一个需求:通过元素ID移除Display:none样式。这意味着我们要让一个原本被隐藏(通过display:none)的元素重新显示出来。 根据引用[1]和[2],隐藏元素可以通过设置display为"none",那么要显示回来,我们可以将display属性设置为其他值,比如"block"、"inline"等,具体取决于原本的显示类型。 但是,我们并不一定知道元素原本的显示类型,所以一个通用的做法是设置display为""(空字符串),这样就会移除内联样式中的display设置,从而让元素恢复到样式表中定义的显示方式。 或者,我们也可以直接设置display为"block"(如果希望它是块级元素)或其他合适的值。但为了通用性,移除内联样式可能是更好的选择。 方法1:使用JavaScript原生方法 document.getElementById("元素ID").style.display = ""; // 移除内联样式中的display设置,这样元素将使用样式表中定义的display值 // 或者 document.getElementById("元素ID").style.display = "block"; // 设置为块级元素显示 方法2:如果要移除整个内联样式,可以移除style属性(但这样会移除所有内联样式,可能不是我们想要的) 我们只关心display属性,所以方法1更合适。 根据引用[3],如果使用jQuery,我们可以这样做: $("#元素ID").css("display", ""); // 移除内联的display样式 // 或者 $("#元素ID").show(); // 这个方法会将被隐藏的元素显示出来,它会根据元素原本的类型(block, inline, inline-block等)来设置display 因此,我们有两种主要方式: 1. 使用原生JavaScript:直接操作style.display属性。 2. 使用jQuery:使用.css()方法或.show()方法。 注意:引用[1]和[2]提供了隐藏和删除元素的方法,但我们现在是要显示元素,所以需要设置display为非none值。 具体实现: 原生JavaScript: var element = document.getElementById("yourElementId"); if (element) { element.style.display = ""; // 推荐:移除内联的display设置,让元素按照CSS样式表显示 // 或者明确设置成你想要的显示方式,例如:element.style.display = "block"; } 使用jQuery: $("#yourElementId").show(); // 或者 $("#yourElementId").css("display", ""); 根据需求,我们只需要通过ID移除display:none样式,所以以上方法均可。 但是,需要注意的是,如果元素原本是通过CSS样式表(而不是内联样式)设置的display:none,那么仅仅移除内联样式可能还不够,因为样式表中的规则仍然会隐藏元素。在这种情况下,我们需要覆盖样式表,可能需要使用更高级的方法(例如设置更具体的样式,或者使用!important,但通常不推荐使用!important)。不过,我们这里只讨论内联样式的移除。 实际上,内联样式(通过style属性设置)的优先级高于样式表。所以,当我们通过内联样式设置了display:none,那么样式表中定义的display属性就会被覆盖。我们移除内联样式后,元素就会按照样式表中的规则显示。 所以,如果元素是通过内联样式隐藏的,那么移除内联样式中的display属性(即设置为空字符串)就可以解决问题。 结论:使用原生JavaScript,我们可以通过设置元素的style.display为空字符串来移除内联的display设置,从而让元素按照CSS样式表显示。 代码示例: // 假设元素ID为 "myElement" document.getElementById("myElement").style.display = ""; 或者,如果你知道元素应该显示为什么类型(比如块级元素),可以设置为"block"。 相关问题: 1. 如何通过JavaScript修改元素的样式? 2. 如何通过jQuery显示一个被隐藏的元素? 3. 内联样式和CSS样式表的优先级是怎样的? 4. 如何彻底移除元素的某个内联样式? 5. 如何通过JavaScript切换元素的显示和隐藏?</think>### 通过元素ID移除`display:none`样式的方法 要移除通过`display:none`隐藏的元素,本质是修改元素的`display`属性值,使其恢复可见状态。以下是具体实现方法: #### 1. **原生JavaScript方法** ```javascript // 方法1:直接修改display属性为"block"(适用于块级元素) document.getElementById("yourElementId").style.display = "block"; // 方法2:移除内联样式中的display属性(推荐) document.getElementById("yourElementId").style.display = ""; ``` - **原理**: - 设置`display=""`会**移除内联样式**中的`display`属性,使元素遵循CSS样式表的默认显示规则[^1][^2]。 - 若元素原本是行内元素(如`<span>`),建议用`inline`代替`block`。 #### 2. **jQuery方法** ```javascript // 方法1:使用.css()移除display属性 $("#yourElementId").css("display", ""); // 方法2:使用.show()自动恢复元素原始显示类型 $("#yourElementId").show(); ``` - **优势**: - `.show()`会自动检测元素原本的`display`值(如`block`/`inline`/`flex`),无需手动指定[^3]。 --- ### 关键注意事项 1. **样式优先级**: - 内联样式(通过`style`属性设置)优先级最高。移除后,元素会继承CSS样式表中的规则[^1][^4]。 2. **隐藏与移除的区别**: - `display:none`仅隐藏元素,物理空间被移除; - `visibility:hidden`隐藏元素但保留物理空间(需用`visibility:visible`恢复)[^4]。 --- ### 示例场景 假设有一个被隐藏的按钮: ```html <button id="submitBtn" style="display:none">提交</button> ``` 恢复显示: ```javascript // 原生JS document.getElementById("submitBtn").style.display = ""; // 恢复为默认inline-block // jQuery $("#submitBtn").show(); ``` --- ### 相关问题 1. **如何通过JavaScript切换元素的显示/隐藏状态?** 2. **移除`display:none`后,如何确保元素响应CSS媒体查询?** 3. **`display:""`和`display:initial`有什么区别?** 4. **如何批量移除多个元素的隐藏样式?** [^1]: 隐藏而不删除元素的方法,通过内联样式修改`display`属性。 [^2]: 原生JS操作元素样式的标准方法,直接修改`style`对象。 [^3]: jQuery的`.show()`方法自动处理元素原始显示类型。 [^4]: CSS样式优先级规则及显示属性的差异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值