jquery追加元素
JQ追加元素:
<body> <ul> <li>大渊</li> <li>二渊</li> <li>小渊</li> </ul> <script src="./jquery/jquery.min.js"></script> <script> /* 在JQuery创建一个元素 $("html元素") 比如: $("<li></li>") $("<div>我是一个div</div>") */ let li = $("<li></li>") li.html("充话费送的") /* 追加一个元素 父元素.append("新的子元素"); 比如: $("ul").append(li); //li是新创建的 追加的位置是在父元素的末尾 */ // $("ul").append(li) /* 追加还有另外一个写法 to 新的子元素.appendTo("父元素") li.appendTo("父元素") //li是新创建的 比如: li.appendTo($("ul")) */ // li.appendTo($("ul")) /* prepend 追加到最前面 父元素.preprend(新的儿子) 比如: $("ul").prepend(li) */ // $("ul").prepend(li) // prependTo /* 新的子元素.prependTo("父元素") 比如: li.prependTo($("ul")) */ li.prependTo($("ul")) </script> </body>
JQ追加相邻的元素:
<body> <ul> <li>大渊</li> <li id="ey">二渊</li> <li>三渊</li> </ul> <script src="./jquery/jquery.min.js"></script> <script> /* 创建li标签 */ let li = $("<li>垃圾桶捡来的</li>") //添加哥哥 before // 比如: 标签.before("新的哥哥") // $("#ey").before(li) //还有另外一种写法 // 比如: 新的哥哥.insertBefore(标签) // li.insertBefore("#ey") //添加弟弟 after // 比如:标签.after(新的弟弟) // $("#ey").after(li) // 还有另外一种写法 // 比如:新的弟弟.insertAfter("哥哥") li.insertAfter($("#ey")) </script> </body>
JQ克隆和修改:
<body> <ul> <li>1</li> <li id="e">2</li> <li>3</li> </ul> <script src="./jquery/jquery.min.js"></script> <script> /* replaceWith 老元素.replaceWith(新元素) */ //创建一个p标签 // let li = $("<p>我要替换你</p>") // $("div").replaceWith(li) /* replaceAll 新元素.replaceAll(老元素) */ // li.replaceAll($("div")) /* 克隆一 let newElement = 元素.clone() */ //克隆 $("#e").click(function(){ window.alert("我是一个事件") }) //这种克隆没有事件 // let newClone = $("#e").clone() // console.log(newClone); //克隆完了,扔到ul的最后面 // $("ul").append(newClone) /* 克隆二 元素.clone(true) //表示把事件也给克隆了 */ let newClone1 = $("#e").clone(true) $("ul").append(newClone1) </script> </body>
JQ清空和删除标签:
<body> <ul> <li>1</li> <li>2</li> <li>3</li> </ul> <script src="./jquery/jquery.min.js"></script> <script> /* 删除标签有两种 empty(); //空的意思 remove(); //移出 */ /* 删除标签里面的内容 */ // $("body").empty(); // $("ul").empty(); /* 干掉这个标签 */ // $("body").remove(); // $("ul").remove(); </script> </body>
JQ操作尺寸:
<style> *{ margin: 0; padding: 0; } div{ width: 300px; height: 300px; padding: 100px; margin: 200px; border: 50px solid red; background-color: springgreen; } </style> </head> <body> <div>我是一个div</div> <script src="./jquery/jquery.min.js"></script> <script> /* 读写取盒子的宽和高 width和height 没有参数是获取,一个参数是设置 */ // $("div").width(80) // $("div").height(100) // console.log(typeof $("div").width()); // console.log($("div").width()); // console.log($("div").height()); /* 获取内容+内边距 */ // innerHeight 内容+内边距的高 // innerWidth 内容+内边距的宽 注意:不能设置 // console.log($("div").innerHeight()); // console.log($("div").innerWidth()); /* 获取内容+内边距+边框 */ // outerHeight // outerWidth // console.log($("div").outerHeight()); // console.log($("div").outerWidth()); /* 获取内容+内边距+边框+外边距 */ // outerHeight(true) // outerWidth(true) // console.log($("div").outerHeight(true)); // console.log($("div").outerWidth(true)); </script> </body>
JQ操作元素的位置:
<style> *{ padding: 0; margin: 0; } body{ height: 2000px; width: 2000px; } div{ width: 200px; height: 200px; margin: 100px; padding: 100px; border: 10px solid red; /* position: fixed; */ /* position: relative; */ /* position: absolute; top: 150px; left: 150px; */ } </style> </head> <body> <div>我是一个div</div> <script src="./jquery/jquery.min.js"></script> <script> // scroll 滚动事件 $(window).scroll(function(){ /* $("div").offset() 读取到的是一个对象 top left */ // $("div").offset({top:111,left:111}) //可以设置设置的时候,传的是一个对象 // console.log($("div").offset()); //浏览器的文档流来计算位置的 读取到的就是left,top值和定位没有关系 //定位 // console.log($("div").position()); // 不计算当前的窗口 // scrollTop // console.log($(window).scrollTop()); // console.log($(window).scrollLeft()); }) </script> </body>
jq鼠标跟随:
<style> *{ margin: 0; padding: 0; } .box{ width: 500px; height: 150px; border: 5px solid #000; margin: 50px auto; display: flex; align-items: center; justify-content: space-evenly; } .box p{ width: 100px; height: 100px; } img{ width: 100%; height: 100%; display: block; } span{ width: 200px; height: 200px; display: none; position: relative; top: 0; left: 0; } </style> </head> <body> <div class="box"> <p><img src="./img/1.png" alt=""></p> <p><img src="./img/2.png" alt=""></p> <p><img src="./img/3.png" alt=""></p> </div> <span> <img src="./img/1.png" alt=""> </span> <script src="./jquery/jquery.min.js"></script> <script> /* 1.鼠标移入到img当中,显示span 2.显示的是我放入的那个标签上面的那个图片 想办法获取到那个图片 $(".box p").find("img").attr("src") 将我们获取到那张图片放入到span里面的img里面去 3.获取鼠标的坐标 pageX ☆ cliantX offsetX 将我的坐标通过offset设置span的top和left值 */ $(".box p").hover(function(){ /* 鼠标移入的时候,需要显示span */ // window.alert("鼠标移入了") $("span").show(10); },function(){ $("span").hide(10); // window.alert("鼠标移出了") }).mousemove(function(e){ // console.log($(this).find('img').attr("src")); $("span img").attr("src",$(this).find('img').attr("src")) // console.log("pageX",e.pageX,e.pageY); // console.log("clientX",e.clientX,e.clientY); // console.log("offsetX",e.offsetX,e.offsetY); $("span").offset({top:e.pageY+10,left:e.pageX+10}) }) </script> </body>
jq通讯录:
<body> <ul> <li> 我的祖宗 <ol> <li>文政</li> <li>文彻</li> <li>文民</li> </ol> </li> <li> 我的同事 <ol> <li>马云</li> <li>马化腾</li> <li>马冬梅</li> </ol> </li> <li> 我的小弟 <ol> <li>普京</li> <li>泽连斯基</li> <li>陈锦</li> </ol> </li> </ul> <script src="./jquery/jquery.min.js"></script> <script> //1.默认的情况下隐藏ol li $("ol>li").hide(); $("ul>li").click(function(){ /* 点击显示的this下面的ol li */ $(this).find("ol>li").toggle(500) $(this).siblings().find("ol>li").hide(500); }) </script> </body>