jQuery
jQuery
1.JavaScript 库
2. jQuery的概念
3. jQuery的优点
4. jQuery的入口函数
- 等着 DOM 结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成,jQuery 帮我们完成了封装。
- 相当于原生 js 中的 DOMContentLoaded。
- 不同于原生 js 中的 load 事件是等页面文档、外部的 js 文件、css文件、图片加载完毕才执行内部代码。
- 更推荐使用第一种方式。
5.jQuery中的顶级对象$
- 用原生 JS 获取来的对象就是 DOM 对象
- jQuery 方法获取的元素就是 jQuery 对象。
- jQuery 对象本质是: 利用$对DOM 对象包装后产生的对象(伪数组形式存储)。
6. jQuery 对象和 DOM 对象转换
- $(jQuery对象).get(索引值)
- $(jQuery对象)[索引值]
7.jQuery 选择器



8.jQuery筛选方法
9.隐式迭代和链式编程
10.jQuery 样式操作
11.jQuery 效果
<button>动起来</button>
<div></div>
<script>
$(function() {
$("button").click(function() {
$("div").animate({
left: 500, // 做动画记得给目标元素加定位,切记切记
top: 300,
opacity: .4,
width: 500
}, 500);
})
})
</script>
</body>
12. 事件切换
<body>
<ul class="nav">
<li>
<a href="#">微博</a>
<ul>
<li><a href="">私信</a></li>
<li><a href="">评论</a></li>
<li><a href="">@我</a></li>
</ul>
</li>
<li>
<a href="#">微博</a>
<ul>
<li><a href="">私信</a></li>
<li><a href="">评论</a></li>
<li><a href="">@我</a></li>
</ul>
</li>
</ul>
<script>
$(function() {
// 鼠标经过
// $(".nav>li").mouseover(function() {
// // $(this) jQuery 当前元素 this不要加引号
// // show() 显示元素 hide() 隐藏元素
// $(this).children("ul").slideDown(200);
// });
// // 鼠标离开
// $(".nav>li").mouseout(function() {
// $(this).children("ul").slideUp(200);
// });
// 1. 事件切换 hover 就是鼠标经过和离开的复合写法
// $(".nav>li").hover(function() {
// $(this).children("ul").slideDown(200);
// }, function() {
// $(this).children("ul").slideUp(200);
// });
// 2. 事件切换 hover 如果只写一个函数,那么鼠标经过和鼠标离开都会触发这个函数
$(".nav>li").hover(function() {
// stop 方法必须写到动画的前面
$(this).children("ul").stop().slideToggle();
});
})
</script>
</body>
13.jQuery属性操作
1.元素固有属性值(元素本身自带的属性)
1.1 $().prop('属性名') 获取属性值
1.2 $().prop('属性名','属性值') 设置属性
prop() 除了普通属性操作,更适合操作表单属性:disabled / checked / selected 等。
2. 元素自定义属性 attr()
$().attr('属性名') 获取属性值
$().attr('属性名','属性值') 设置属性
也可以获取H5自定义属性 (H5中自定义属性data-开头)
3. 数据缓存 data()
data() 方法可以在指定的元素上存取数据,并不会修改 DOM 元素结构。一旦页面刷新,之前存放的数据都将被移除。
data('name','value') 向被选元素附加数据
data('name') 向被选元素获取数据
还可以读取 HTML5 自定义属性 data-index ,得到的是数字型。
14. jQuery文本属性值
1.普通元素内容html() (相当于原生 inner HTML) 可以识别标签
html() 获取元素的内容·
html('内容') 设置元素的内容
<body>
<div>
<span>我是内容</span>
</div>
<input type="text" value="请输入内容">
<script>
// 1. 获取设置元素内容 html()
console.log($("div").html());
// $("div").html("123");
// 2. 获取设置元素文本内容 text()
console.log($("div").text());
$("div").text("123");
// 3. 获取设置表单值 val()
console.log($("input").val());
$("input").val("123");
</script>
</body>
15.jQuery元素操作
如果是遍历对象 params1 代表是属性名 params2 代表是属性值
<body>
<ul>
<li>原先的li</li>
</ul>
<div class="test">我是原先的div</div>
<script>
$(function() {
// 1. 创建元素
var li = $("<li>我是后来创建的li</li>");
// 2. 添加元素
// 2.1 内部添加
// $("ul").append(li); 内部添加并且放到内容的最后面
$("ul").prepend(li); // 内部添加并且放到内容的最前面
// 2.2 外部添加
var div = $("<div>我是后妈生的</div>");
// $(".test").after(div);
$(".test").before(div);
// 3. 删除元素
// $("ul").remove(); 可以删除匹配的元素 自杀
// $("ul").empty(); // 可以删除匹配的元素里面的子节点 孩子
$("ul").html(""); // 可以删除匹配的元素里面的子节点 孩子
})
</script>
</body>
16.jQuery尺寸、位置操作

<body>
<div></div>
<script>
$(function() {
// 1. width() / height() 获取设置元素 width和height大小
console.log($("div").width());
// $("div").width(300);
// 2. innerWidth() / innerHeight() 获取设置元素 width和height + padding 大小
console.log($("div").innerWidth());
// 3. outerWidth() / outerHeight() 获取设置元素 width和height + padding + border 大小
console.log($("div").outerWidth());
// 4. outerWidth(true) / outerHeight(true) 获取设置 width和height + padding + border + margin
console.log($("div").outerWidth(true));
})
</script>
</body>
16.2 jQuery位置操作
1.offset()设置或获取元素偏移
该方法设置或获取被选元素相当于文档的偏移坐标,跟父级没有关系
$().offset().top 获取距离文档顶部的距离
$().offset().left 获取距离文档左侧的距离
可以设置元素的偏移: offset({top:10,left:30})
2. position()获取元素偏移
17.jQuery事件注册
语法: element.事件类型(function(){ })
$('div').click(function(){事件处理程序})
18.jQuery事件处理
18.1事件处理on()绑定事件 有的事件只想触发一次,可以用one()来绑定事件
on()方法优势1 :
可以绑定多个事件,多个时间处理程序
$('div').on({
mouseover:function(){},
mouseout:function(){},
click:function(){}
});
如果事件处理程序相同
$('div').on("mouseover mouseout",function(){事件处理程序})
$('div').on('click','p',function(){
alert('我可以给动态生成的元素绑定事件 ')
});
$('div').append($("<p>我是动态生成的P</p>"));
18.2事件处理off()解绑事件
19.jQuery事件对象
语法: element.on('事件类型',[selector],function(event){})
20.jQuery插件
-
-
jQuery 之家 http://www.htmleaf.com/

浙公网安备 33010602011771号