jQuery选项卡效果全选全部不选取消 jQuery之css样式操作jQuery事件绑定与删除事件绑定其他样式

    科技2022-08-30  95

    jQuery选项卡效果

    <body> <div>我是div的原始内容 <span>我是span</span> </div> <input type="text"> <button>点击</button> <script src="./jquery.min.js"></script> <script> // 操作的是标签的内容 // 1, $().html() 获取或者设定标签内容 // 没有参数是获取标签内容 // 有参数是设定标签内容 // 支持标签,可以获取标签,也可以设定标签 // 设定内容,是全覆盖,之前的内容都会被覆盖 // 等同于 innerHTML() // 获取 console.log($('div').html()); // 设定 支持设定标签 // $('div').html('<a href="https://www.baidu.com">百度</a>'); // 2, $().text() 获取或者设定标签内容 // 没有参数是获取标签内容 // 有参数是设定标签内容 // 不支持标签,只能获取标签的文本内容 // 设定内容,是全覆盖,之前的内容都会被覆盖 // 等同于 innerText() // 获取 console.log($('div').text()); // 设定 不支持设定标签 $('div').text('<a href="https://www.baidu.com">百度</a>'); // 3, $().val() 等同于 JavaScript中的 标签对象.value // 获取标签的value()属性值 $('button').click(function(){ console.log($('input').val()); }) // 总结 // 1, $().html 等于 js的 innerHTML // 2, $().text 等于 js的 innerText // 3, $().val() 等于 js的 标签.value // 4, 特别注意: 标签的布尔属性,使用 prop() 来获取属性值 </script> </body>

    全选全部不选取消

    <body> <button name="all">全选</button><br> <button name="no">全取消</button><br> <button name="not">反选</button><br> <input type="checkbox"> <input type="checkbox"> <input type="checkbox"> <input type="checkbox"> <input type="checkbox"> <input type="checkbox"> <script src="./jquery.min.js"></script> <script> // 操作布尔值,必须使用prop() // 1,全选效果 // 给所有的input标签, checked 布尔属性,属性值设定为 true // jQuery中有隐式迭代,默认是给所有的标签都设定 // 给全选button标签添加点击事件 --- 选中 checked 为 true $('[name="all"]').click(function(){ // jQuery中有隐式迭代,会给所有的伪数组中的标签,进行设定 $('input').prop('checked' , true); }) // 2,取消效果 // 给所有的input标签, checked 布尔属性,属性值设定为 false // jQuery中有隐式迭代,默认是给所有的标签都设定 // 给全选button标签添加点击事件 --- 取消 checked 为 false $('[name="no"]').click(function(){ // jQuery中有隐式迭代,会给所有的伪数组中的标签,进行设定 $('input').prop('checked' , false); }) // 3,反选效果 // 所谓的反选,就是当前是true,取反,设定为false // 当期是false,取反,设定为true // 隐式迭代,获取属性,只能获取第一个 // 必须要循环遍历 jQuery中 循环遍历 是 each(function(){}) // 只有两个参数,参数1是索引,参数2是标签对象 // 参数2,的标签对象,是JavaScript语法的形式,必须要转化为jQuery的语法形式 $('[name="not"]').click(function(){ // jQuery中有隐式迭代,会给所有的伪数组中的标签,进行设定 $('input').each(function(key,item){ // 设定 item也就是标签的 checked属性值 // 是当前属性值取反 // item.prop('checked') 就是标签当前的 checked属性值 // !(item.prop('checked')) 当前 checked属性值 取反 // item.prop('checked' , 属性值 ) // 属性值,就是 当前值 取反 $(item).prop('checked' , !$(item).prop('checked') ) }) }) // 总结 // 1, 布尔类型属性的设定,必须要使用prop(),不能使用 attr() // 2, 隐式迭代,可以自动给所有的伪数组中的标签,添加设定,样式属性等 // 3, 隐式迭代,只能获取第一个标签的属性或者样式 // 要获取所有标签的样式属性等,必须使用循环遍历 // 4, $().each(function(key,item){}) // 循环遍历,只有2个参数 // 参数1:标签的索引下标 // 参数2:标签的对象 // 是JavaScript语法形式 要 $(item) 转化为 jQuery 的标签对象 // 5, 代码没有对错,只要能实现,都是好代码 </script> </body>

    jQuery之css样式操作

    <style> div{ width: 100px; height: 100px; background: pink; border:3px solid #000; color: blue; font-size: 20px; } </style> <body> <div style="color: red;">我是div</div> <script src="./jquery.min.js"></script> <script> // CSS的样式操作 // JavaScript中,通过 标签.style.属性 = 属性值 来设定行内样式 // 标签.style.属性 只能获取行内样式 // window.getComputedStyle(标签).属性 获取执行样式 // 在js中 font-size 要写成 fontSize ,因为js不支持 - 减号 // jQuery中, 通过 $().css() 来设定和获取样式 // 获取样式 $().css(属性) // 获取的是执行样式 // 带减号的样式 font-size 就写成 font-size 或者 fontSize 都行,但是要注意大小写 // 注意,获取到的样式,都是带有 px单位的,要获取数值,需要通过parseInt,获取整数部分 // 获取样式 $().css('属性') // 获取到的是执行样式 // // 行内样式可以获取 console.log( $('div').css('color') ); // 非行内样式 console.log( $('div').css('border') ); console.log( $('div').css('width') ); // 带 -减号的属性,写成 驼峰命名法也行,直接写属性也行 console.log( $('div').css('fontSize') ); console.log( $('div').css('font-size') ); // 设定样式,有两种形式 // 形式1, $().css(属性,属性值) // 只能定义单一属性 // 设定随机颜色 -- js语法 let color = `rgb(${parseInt(Math.random()*256)} , ${parseInt(Math.random()*256)} , ${parseInt(Math.random()*256)})`; // 将随机颜色,设定为div 的背景颜色 // 这里的 color 是变量,不要加引号 // 因为是变量,也不需要用 $() 转化 // 还有标签对象,要用 $() 转化 // $('div').css('background' , color); // 形式2,参数是一个对象,通过对象来设定样式 // 对象的属性和属性值就是css样式的属性和属性值 $('div').css({ background : color, width : '200px' , height : '200px' , }); </script> </body>

    jQuery事件绑定

    <body> <div>我是div</div> <script src="./jquery.min.js"></script> <script> // jQuery的事件绑定分为两种语法形式 // 语法形式1,就是想click这样,可以直接定义的事件类型 // 这些都可以 通过 console.dir( $(标签对象) )的方式来查看 // console.dir($('div')); 在 __proto__ 中查看 // 语法形式: $(标签对象).事件类型(function(){}) // 语法形式2,通过 on方法,给标签绑定事件 // 语法形式: $(标签对象).on( 事件类型 , 事件处理函数 ) // $('div').on( 'click' , function(){ // console.log(123); // } ) // 同一个标签,可以通过链式编程,绑定更多的事件类型 // 通过链式编程,一个标签绑定多个事件 // $(标签).on(类型,函数).on(类型,函数).on(类型,函数).... $('div').on( 'click' , function(){ console.log(123); } ).on('mouseover' , function(){ console.log('移入') }).on('mouseout' , function(){ console.log('移出') }) </script> </body>

    jQuery事件绑定与删除

    <div>我是div</div> <script src="./jquery.min.js"></script> <script> // 相同事件类型,绑定多个事件 // on语法是 addEventListener 形式 // 允许同一个标签,相同的事件类型,绑定多个事件处理函数 // 此处是绑定事件,是赋值绑定,函数的名称 // 不是执行函数,如果有()就是是执行函数,不是赋值函数的名称 // 只有赋值函数的名称,才能删除函数 与js的原理是相同 const oDiv = document.querySelector('div'); // js中,通过 addEventListener 绑定的是函数名称 // oDiv.addEventListener('click' , fun1); // oDiv.addEventListener('click' , fun2); // oDiv.addEventListener('click' , fun3); // 绑定的是函数名称,删除的也是函数名称 // oDiv.removeEventListener('click' , fun3); // 有自定义函数和绑定的函数名称 $('div').on('click' , function(){ console.log('自己写的函数') }).on('click' , fun1).on('click' , fun2).on('click' , fun3) // 删除只能删除函数名称 // 通过函数名称,找到其中存储的函数地址,删除函数地址 $('div').off('click' , fun3); function fun1(){ console.log(11111); } function fun2(){ console.log(22222); } function fun3(){ console.log(33333); } </script>

    事件绑定其他样式

    <button name="h">随机高度</button> <button name="w">随机宽度</button> <button name="c">随机背景颜色</button> <div></div> <script src="./jquery.min.js"></script> <script> // 点击button按钮,给标签,设定随机颜色宽度高度等 $('[name="h"]').on('click' , function(){ // 随便写着玩的宽度,是100-400之间 let randomH = parseInt(Math.random()*(400+1-100)+100); // 定义div标签的样式 $('div').css('height' , `${randomH}px`); }) // 参数的形式 // 正常情况下,函数是可以定义参数的 // on语法,如果定义第二个参数是一个对象,就可以通过对象的形式,给事件处理函数传递一个参数 // 这个参数,jQuery,存储在事件对象 e 中 // 是 e.data // e 和 js 中的事件对象 e 是基本相同的 // js中的 事件对象 e 有的内容, jq中的e也有 // 并且jq中专门有一个新增的data属性,来存储第二个参数,表示的数据 // 先定义一个随机数,然后点击时赋值给宽度属性 let randomW = parseInt(Math.random()*(400+1-100)+100); // on语法的第二个参数,是 { } 一个对象,会存储在 e.data 中 // 在函数中,可以通过 e.data 来读取参数数据 $('[name="w"]').on('click' , { name:'张三' , age:18 , w:randomW} , function(e){ console.log(e); console.log(e.data.w); // 现在随机宽度,数据,存储在 e.data 中, w属性中 $('div').css('width' , `${e.data.w}px`); }) // 总结1: $().on( 事件类型 , { } , 事件处理函数(e){} ) // 第二个参数, { } 对象,会被存储在 e.data 中 // 可以通过 e.data 来获取数据 </script> <body> <div> <h1>我是h1标签</h1> <span name="s" id="s">我是span标签</span> <p class="p">我是p标签</p> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> </div> <script src="./jquery.min.js"></script> <script> // 事件委托语法形式 // 在JavaScript中,有事件委托形式 // 通过给父级标签,添加点击事件,通过判断点击的标签内容,来执行不同的事件处理函数 // 事件委托语法形式必须要会,之后的标签,内容,都是动态生成的,必须要用事件委托语法形式来定义 /* const oDiv = document.querySelector('div'); oDiv.addEventListener('click' , function(e){ // 可以判断标签名称,必须是大写 if(e.target.tagName === 'H1'){ console.log('我点击的是h1标签'); } // 判断name属性 if(e.target.getAttribute('name') == 's'){ console.log('我点击的是span标签'); } // 判断class等属性 if(e.target.className == 'p'){ console.log('我点击的是p标签'); } }) */ // jQuery的事件委托 // 给父级添加事件,参数1是事件类型,参数2,是字符串形式,定义标签名称,参数3是事件处理函数 // 参数2的语法形式: 可以是标签名称,标签name属性,标签id属性,标签class属性,标签结构... // 只要是 选择器支持的语法形式,都可以写 // 筛选器不行,只能是选择器语法 // 事件委托也可以定义传参参数 // $().on(事件类型,'选择器',{参数},事件处理函数(e){}) $('div').on('click' , 'h1' , function(){ console.log('我点击的是h1标签'); }).on('click' , '#s' , function(){ console.log('我点击的是span标签'); }).on('click' , '.p' , function(){ console.log('我点击的是p标签'); }).on('click' , '[name="s"]' , function(){ console.log('22222'); }).on('click' , 'ul>li:nth-child(3)' , function(){ console.log('3333'); }) </script> </body>

    总结事件绑定样式

    <script> // 事件绑定的语法形式 // 1,简单的语法形式 // 可以直接绑定定义的事件类型 // 可以通过 console.dir( $(标签对象) ) // 其中的 __proto__ 来查看 // click mouseover mouseout mousemove .... // 2,on语法绑定 // 语法形式1: 两个参数 // 参数1:事件类型 // 参数2:事件处理函数 // 语法形式2: 三个参数,参数2,是对象形式 // 给事件处理函数 e 中 data属性 存储数据 // e.data // 参数1:事件类型 // 参数2:{ } 对象形式的数据 // 参数3:事件处理函数 // 语法形式3: 三个参数,参数2,是字符串形式 // jQuery的事件委托形式 // 参数2的语法形式,必须符合jQuery中选择器的语法形式 // 参数1:事件类型 // 参数2:'' 字符串形式的选择器 // 参数3:事件处理函数 // 语法形式4: 四个参数, // 参数1:事件类型 // 参数2:'' 字符串形式的选择器 // 参数3:{ } 对象形式的数据,存储在 e.data中 // 参数4:事件处理函数 // 3,off语法删除 // 必须是绑定的函数名称或者变量名称(匿名函数) // 才能使用off语法删除 // $().off(事件类型,绑定的函数名称/变量名称) </script>
    Processed: 0.013, SQL: 9