Javascript知识【jQuery属性操作&案例:重写复选框操作】

简介: Javascript知识【jQuery属性操作&案例:重写复选框操作】

jQuery属性操作【阶段重点】


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .blueDiv{
            background-color: #87CEFA;
            width:300px;
            height:300px;
        }
        .redDiv{
            background-color: red;
            width:300px;
            height:300px;
        }
    </style>
    <script src="../js/jquery-3.3.1.min.js"></script>
    <script>
        $(function(){
            //attr和prop有区别的:
            //attr 操作的是html自带属性
            //prop 操作的是自定义属性
            //1、获取d2这个div标签的class值
            //var v1 = $("#d2").prop("class");
            var v1 = $("#d2").attr("class");
            alert(v1);
            //2、设置d1这个div标签样式为blueDiv
            //$("#d1").prop("class","blueDiv");
            $("#d1").attr("class","blueDiv");
            //3、移除d2这个div标签的redDiv样式
            //$("#d2").removeProp("class");
            $("#d2").removeAttr("class");
            //$("#d2").prop("key1","value1");
        });
    </script>
</head>
<body>
    <div id="d1">11111</div>
    <div id="d2" class="redDiv">22222</div>
</body>
</html>

2bde3b29bf7e4b4887174195011e4f58.png

prop无效,切attr即可

761b67dc903c4655960720383ca028a7.png

扩展:


何时使用Prop何时使用attr:


若需要操作属性,需要在页面DOM上进行改变,使用attr


若需要操作的属性,值不需要在页面DOM改变,要动态保存 使用prop


敏感信息操作,使用prop。


建议:先用prop,若prop无效果,切换attr


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../js/jquery-3.3.1.min.js"></script>
    <script>
        $(function(){
            //HTML自带属性:attr会更改页面DOM值,prop不会更改页面DOM值,对动态值进行改变。【prop若无法改变,立刻切换attr】
            //获取value展示
            //alert($("#t1").prop("value"));
            //alert($("#t1").attr("value"));
            //设置value
            //$("#t1").prop("value","v2");//未改变页面元素中的value,仅对value的动态值进行了改变
            //$("#t1").attr("value","v2");//改变了页面元素中的value
            //自定义属性:attr会将自定义属性保存在页面元素中,prop动态保存不会保存页面元素。
            //设置自定义属性,k1=v1
            //$("#t1").prop("k1","v1");//不会向页面中添加自定义属性,而是动态保存
            //$("#t1").attr("k1","v1");//会修改页面元素,添加k1=v1属性值
            //获取自定义属性, k1=v1
            //alert($("#t1").prop("k1"));
            //alert($("#t1").attr("k1"));
            //页面书写自定义属性:仅能使用attr获取
            //获取自定义书写属性,memeda
            //alert($("#t1").prop("memeda"));//undefined
            //alert($("#t1").attr("memeda"));
        });
    </script>
</head>
<body>
    <input type="text" id="t1" value="hehe" memeda="么么哒"/>
</body>
</html>


案例:重写复选框操作

4bae84768cf9431286e1543c8c6e1ffb.png

分析:

关键点:


1、jQuery获取元素


$(".itemSelect");


2、jQuery操作属性


jq.prop("checked",true);


jq.prop("checked",false);


jq.prop("checked",function(){


//this  指当前复选框对象


return !this.checked;


});


步骤:


1、页面加载完成时,为三个按钮绑定点击事件


2、全选:进行为true


3、全不选:进行为false


4、反选:进行 匿名函数取反操作



代码实现:

<script src="../js/jquery-3.3.1.min.js"></script>
<script>
   //1、页面加载完成时,为三个按钮绑定点击事件
   $(function () {
      var cbs = $(".itemSelect");
      //2、全选:进行为true
      $("input[value='全选']").click(function () {
         cbs.prop("checked",true);
      });
      //3、全不选:进行为false
      $("input[value='全不选']").click(function () {
         cbs.prop("checked",false);
      });
      //4、反选:进行 匿名函数取反操作
      $("input[value='反选']").click(function () {
         cbs.prop("checked",function () {
            return !this.checked;
         });
      });
   });
</script>


1,jQuery获取元素$(".itemSelect");


2,jQuery操作属性  jq.prop("checked",true)


jq.prop("checked",false)


jq.prop("checked",function(){


  //this   指当前复选框对象


return !this.checked;


})


匿名函数使用:可以用于作为回调函数。


也可以用于进行一些值处理。(JS函数一定有返回值)

相关文章
|
1月前
|
JavaScript 前端开发
JavaScript实现复选框全选与全不选的效果
JavaScript实现复选框全选与全不选的效果
16 1
|
1天前
|
JavaScript 前端开发
js的let、const、var的区别以及应用案例
【4月更文挑战第27天】ES6 中,`let` 和 `const` 是新增的变量声明关键字,与 `var` 存在显著差异。`let` 允许重新赋值,而 `const` 不可,且两者都具有块级作用域。`var` 拥有函数级作用域,并可在函数内任意位置访问。`let` 和 `const` 声明时必须初始化,而 `var` 不需。根据需求选择使用:局部作用域用 `let`/`const`,全局或函数范围用 `var`,不可变值用 `const`。
8 2
|
1天前
|
JavaScript 前端开发
js变量的作用域、作用域链、数据类型和转换应用案例
【4月更文挑战第27天】JavaScript 中变量有全局和局部作用域,全局变量在所有地方可访问,局部变量只限其定义的代码块。作用域链允许变量在当前块未定义时向上搜索父级作用域。语言支持多种数据类型,如字符串、数字、布尔值,可通过 `typeof` 检查类型。转换数据类型用 `parseInt` 或 `parseFloat`,将字符串转为数值。
6 1
|
2天前
|
JavaScript 前端开发
js 操作数组的方法
js 操作数组的方法
13 4
|
4天前
android-agent-web中js-bridge案例
android-agent-web中js-bridge案例
11 2
|
6天前
|
JavaScript 前端开发 UED
深入解析JavaScript原生操作DOM技术
【4月更文挑战第22天】本文深入探讨JavaScript原生DOM操作技术,包括使用`getElement*`方法和CSS选择器获取元素,借助`createElement`与`appendChild`动态创建及插入元素,修改元素内容、属性和样式,以及删除元素。通过掌握这些技术,开发者能实现页面动态交互,但应注意避免过度操作DOM以优化性能和用户体验。
|
13天前
|
开发框架 前端开发 JavaScript
采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示
技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、SQLSugar等 数 据 库:SQLserver 2012
|
13天前
|
存储 JavaScript 前端开发
JavaScript DOM 操作:解释一下 cookie、sessionStorage 和 localStorage 的区别。
Cookie是服务器发送至客户端的文本信息,会随每个请求发送回服务器,适合控制会话状态但可能暴露隐私。SessionStorage仅在当前会话中存储数据,关闭浏览器后清除,适合临时存储如登录状态。LocalStorage则持久保存数据,即使关闭浏览器也不会清除,适用于存储长期设置。三种方式各有侧重,应按需求选择。
16 0
|
13天前
|
JavaScript 前端开发 安全
JavaScript DOM 操作:解释一下浏览器的同源策略。
**同源策略**是浏览器安全基石,它阻止脚本跨不同协议、域名或端口访问资源,防止恶意行为。例如,HTTP页面无法直接用JS获取HTTPS页面内容。**CORS**允许跨域请求,但需服务器配合设置,通过`document.domain`属性可配置,但仍受限于服务器配置。
14 4
|
20天前
|
JavaScript
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集