style和jquery修改样式的优先级问题

问题描述

我首先把所有元素隐藏了,想在jquery里id为div4标签把他再显现,但没反映,不知道是什么原因

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        #div1,#div2,#div3,#div4{
            display:none;
        }
    </style>
    <script type="text/javascript" src="js/jquery-1.8.2.js"></script>
    <script type="text/javascript">
        $(function(){
            $("#div4").css("display","block");
        })
    </script>
</head>
<body>
    <div>
        <div id="div1">
            id div1
            <div id="div4" class="hello" >
                第1个div
            </div>
        </div>
        <div id="div2">
            第2个div
        </div>
        <div id="div3">
            第3个div
        </div>
    </div>
    
</body>

</html>

你期待的结果是什么?实际看到的错误信息又是什么?

不知道为什么后面的样式改不了之前的。

阅读 2.3k
2 个回答

div4在div1里面,div1是隐藏的,div4不管显示与否都不会显示的

两个问题:
1、楼上已经说了 DIV4本来就位于不可见的DIV1里面,所以不管怎么改变,他始终都是不可见

2、JS需要放到HTML尾部。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题