jQuery改变单个元素属性问题

简介: div嵌套div改变外层div字体颜色保留内层div字体颜色出现同时改变的情况解决方案

今天在做练习的时候,遇到了一个问题:
我做了一个div的嵌套,外层div包裹内层div,在完成其他功能的时候都正常,但是到了改变div内文字颜色的时候出了问题,我只打算改变外层div的文字颜色为白色,但当我点击按钮时,内外层文字颜色同时改变了,我试过将内层文字的颜色清楚,但是不行,还是被改变了。
jQuery元素筛选 - 用户配置 1 - Microsoft​ Edge 2023_9_27 1_21_25.png
对应的html代码为:

<p>div控制器</p>
    <button id="divbtn1">改变内层div的颜色为黄色</button>
    <button id="divbtn2">改变内层div文字居中</button>
    <button id="divbtn3">改变外层div字体颜色为白色</button>

    <hr>
    <div id="divfarther">这是最外层的div
        <div id="chiden">这是内层div</div>
    </div>

对应的jQuery代码为:


$(document).ready(function(){
   
   



            $("#divbtn3").click(
                function(){
   
   


                    $("#divfarther").css("color","white");

                    alert("文字颜色已更改");
                }
            );

            $("#divbtn1").click(function(){
   
   

                $("#chiden").css("background-color","yellow");
                alert("更改完成")
            });

            $("#divbtn2").click(
                function(){
   
   

                    $("#chiden").css("text-align","center");
                    alert("文字已居中");
                }
            );

        });

或:


$(document).ready(function(){
   
   



            $("#divbtn3").click(
                function(){
   
   


                    $("#divfarther").css("color","white");
                    $("#chiden").css("color","");
                    alert("文字颜色已更改");
                }
            );

            $("#divbtn1").click(function(){
   
   

                $("#chiden").css("background-color","yellow");
                alert("更改完成")
            });

            $("#divbtn2").click(
                function(){
   
   

                    $("#chiden").css("text-align","center");
                    alert("文字已居中");
                }
            );

        });

以上代码都不行,因为css又继承性,所以要把元素设置为默认状态
在chiden的color上改为initial
如以下jQuery代码


$(document).ready(function(){
   
   



            $("#divbtn3").click(
                function(){
   
   


                    $("#divfarther").css("color","white");
                    $("#divfarther > #chiden").css("color","initial");

                    alert("文字颜色已更改");
                }
            );

            $("#divbtn1").click(function(){
   
   

                $("#chiden").css("background-color","yellow");
                alert("更改完成")
            });

            $("#divbtn2").click(
                function(){
   
   

                    $("#chiden").css("text-align","center");
                    alert("文字已居中");
                }
            );

        });

以下是效果图
jQuery元素筛选 和另外 1 个页面 - 用户配置 1 - Microsoft​ Edge 2023_9_27 1_19_50.png
完美解决!

目录
相关文章
|
2天前
|
JavaScript 前端开发
使用jQuery操作DOM元素
使用jQuery操作DOM元素
18 1
|
1天前
|
存储 移动开发 JavaScript
jQuery 根据 css 类筛选 DOM 元素的代码
jQuery 根据 css 类筛选 DOM 元素的代码
16 1
|
1天前
|
移动开发 JavaScript 前端开发
jQuery 根据 DOM 元素 attribute 进行过滤的语法
jQuery 根据 DOM 元素 attribute 进行过滤的语法
8 2
|
2天前
|
JavaScript 前端开发 API
JQuery的attr()属性和JS的属性的方法
JQuery的attr()属性和JS的属性的方法
10 0
|
2天前
|
前端开发 JavaScript Java
第四章使用jQuery操作DOM元素
第四章使用jQuery操作DOM元素
10 0
|
2天前
|
JavaScript
jQuery操作DOM元素案例
jQuery操作DOM元素案例
11 0
|
2天前
|
JavaScript 索引
jQuery选择器 获取元素的十一种方式
jQuery选择器 获取元素的十一种方式
|
2天前
|
JavaScript
jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?
jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?
20 2
|
2天前
|
JavaScript 前端开发
jQuery特效函数-第7次课-show、hide等方法有动画效果的显示和隐藏一个元素-附案例-任务
jQuery特效函数-第7次课-show、hide等方法有动画效果的显示和隐藏一个元素-附案例-任务
22 0
|
2天前
|
JavaScript
jQuery事件2-第6次课-给未来的元素绑事件-事件对象-JS盒模型-附案例、任务
jQuery事件2-第6次课-给未来的元素绑事件-事件对象-JS盒模型-附案例、任务
43 0