这是我参与8月更文挑战的第25天,活动详情查看:8月更文挑战
jQuery 节点操作
创建元素
语法:$('<li></li>')
追加元素
追加元素 1
• 向父元素最后追加
语法:父元素jQuery对象.append(新创建的jQuery对象);
语法:新创建jQuery对象.appendTo('父元素选择器' 或 父元素jQuery对象);
• 向父元素最前面追加
语法:父元素jQuery对象.prepend(新创建的jQuery对象);
语法:新创建jQuery对象.prependTo('父元素选择器' 或 父元素jQuery对象);
追加元素 2
• 向元素后面追加新的兄弟
语法:jQuery对象.after(新创建的jQuery对象);
语法:新创建jQuery对象.insertAfter('选择器' 或 jQuery对象);
• 向元素前面追加新的兄弟
语法:jQuery对象.before(新创建的jQuery对象);
语法:新创建jQuery对象.insertBefore('选择器' 或 jQuery对象);
删除元素
• 语法:jQuery对象.remove();
• 删除谁就让谁调用这个方法
清空元素
• 清空方式1:jQuery对象.empty();
推荐使用, 清空内部的所有元素及元素相关的事件
$(".box").empty();
box内部的<p>
等会被删除, 但是box类的这个元素还是保留了的
• 清空方式2:jQuery对象.html('');
仅仅清空内部的元素,不清清理内存中的元素的事件。
克隆元素
• 语法:jQuery对象.clone(布尔值);
返回克隆好的元素
• 参数:默认是false,表示仅仅克隆内容。 true,克隆内容和事件
jQuery 操作元素的尺寸
width() 和 height() 方法
操作的大小仅仅是内容部分
• 设置:jQuery 对象.width(数字);
• 获取:jQuery 对象.width();
innerWidth() 和 innerHeight() 方法
操作的大小是内容部分 + padding
• 设置:jQuery 对象.innerWidth(数字);
将增加或减少的值设置给了 width 属性
• 获取:jQuery 对象.innerWidth();
outerWidth() 和 outerHeight() 方法
操作的大小是内容部分 + padding + border
• 设置:jQuery 对象.outerWidth(数字);
将增加或减少的值设置给了 width 属性
• 获取:jQuery 对象.outerWidth();
jQuery 操作元素的位置
获取元素距离文档的位置
• 语法:jQuery 对象.offset();
• 返回一个对象,对象中包含了元素的位置 (left, top)
• 注意:offset() 方法获取的元素的位置,永远参照文档,和定位没有关系.
var $son = $(".son");
var offsetObj = $son.offset();
console.log(offsetObj)
console.log(offsetObj.left)
console.log(offsetObj.top)
距离上级定位参考元素的位置
• 语法:jQuery 对象.position();
• 返回的一个对象,对象中包含了元素的位置
• 注意:position() 方法获取的元素的位置,参照最近的定位元素(和定位有关系)
var positionObj = $son.position();
console.log(positionObj);
console.log(positionObj.left);
操作卷去的页面间距
• 获取垂直方向卷走的距离: jQuery 对象.scrollTop();
返回数字
• 获取水平方向卷走的距离: jQuery 对象.scrollLeft();
返回数字
• 设置: jQuery 对象.scrollTop(数字);
• 设置: jQuery 对象.scrollLeft(数字);
// 给元素添加滚动事件
$(".box").scroll(function () {
// 获取滚动条卷走的距离
console.log($(this).scrollTop())
})
// 给文档设置滚动事件
$(document).scroll(function () {
// 获取滚动条卷走的距离
console.log($(this).scrollTop())
})
// 通过点击"返回顶部"按钮,将文档的卷走的距离设置为 0
$(".backtop").click(function () {
// 设置 scrollTop 的值
$(document).scrollTop(0)
})