使用原生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对象的样式。
设置多种样式:
$('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>
效果图

暂无评论