请登录后探索更多精彩内容!
使用原生JS编写:
1. 查找元素的方法太少,麻烦。2. 遍历伪数组很麻烦,通常要嵌套一大堆的for循环。3. 有兼容性问题。4. 想要实现简单的动画效果,也很麻烦5. 代码冗余。
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div { height: 200px; margin-bottom: 10px; background-color: #a43035; display: none; } </style> <script> //等待页面加载完成后才会执行。 window.onload = function () { //不爽的地方: //1. 代码比较麻烦,需要遍历,可能还需要嵌套。 //2. 找对象麻烦,方法少,还长 //3. 会有兼容性问题。 //4. 如果想要实现简单的动画效果 animate //5. js注册事件,会被覆盖,addEventListener var btn1 = document.getElementById("btn1"); var btn2 = document.getElementById("btn2"); var divs = document.getElementsByTagName("div"); btn1.onclick = function () { for (var i = 0; i < divs.length; i++) { divs[i].style.display = "block"; } }; btn2.onclick = function () { for (var i = 0; i < divs.length; i++) { //低版本火狐浏览器不支持innerText,支持textContent divs[i].innerText = "我是内容"; } }; }; </script> </head> <body> <input type="button" value="展示" id="btn1"> <input type="button" value="设置内容" id="btn2"> <div></div> <div></div> <div></div> </body> </html>
使用JQuery编写:
1. 查找元素的方法多种多样,非常灵活2. 拥有隐式迭代特性,因此不再需要手写for循环了。3. 完全没有兼容性问题。4. 实现动画非常简单,而且功能更加的强大。5. 代码简单、粗暴。
.text(); //设置和获取文本 $('div').css();获取和设置css元素。获取包含多个dom元素的JQuery对象的样式只能获取到第一个dom对象的样式。
.text(); //设置和获取文本
$('div').css();获取和设置css元素。获取包含多个dom元素的JQuery对象的样式只能获取到第一个dom对象的样式。
设置多种样式:
$('div').css({ width:300, height:'300px', backgroundColor:'green', ...... });
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="jquery-1.12.4.js" type="text/javascript" charset="utf-8"></script> <style> div { height: 200px; margin-bottom: 10px; background-color: #a43035; display: none; } </style> <script> $(document).ready(function () { $("#btn1").click(function () { //隐式迭代:偷偷的遍历,在jQuery中,不需要手动写for循环了,会自动进行遍历。 $("div").show(200); }); $("#btn2").click(function () { $("div").text("我是内容"); }); }); </script> </head> <body> <input type="button" value="展示" id="btn1"> <input type="button" value="设置内容" id="btn2"> <div></div> <div></div> <div></div> </body> </html>
效果图
暂无评论
请先登录后发表评论!
暂无评论