前端学习-jQuery 节点操作

91 阅读1分钟

节点操作

创建元素

  • 语法:$('<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(); 推荐使用, 清空内部的所有元素及元素相关的事件
  • 清空方式2:jQuery对象.html(''); 仅仅清空内部的元素,不清清理内存中的元素的事件。

克隆元素

  • 语法:jQuery对象.clone(布尔值); 返回克隆好的元素
  • 参数:默认是false,表示仅仅克隆内容。 true,克隆内容和事件

jQuery 操作元素的尺寸

width() 和 height() 方法

操作的大小仅仅是内容部分

  • 设置:
    语法:jQuery 对象.width(数字);
  • 获取:
    语法:jQuery 对象.width();

innerWidth() 和 innerHeight() 方法

操作的大小是内容部分 + padding

  • 设置:
    语法:jQuery 对象.innerWidth(数字);
  • 获取:
    语法:jQuery 对象.innerWidth();

outerWidth() 和 outerHeight() 方法

操作的大小是内容部分 + padding + border

  • 设置:
    语法:jQuery 对象.outerWidth(数字);
  • 获取:
    语法:jQuery 对象.outerWidth();
var $box = $(".box");
// 获取内容区域的大小
console.log($box.width());
// 设置大小
$box.width(300)

// 获取内容区域 + padding 区域的大小
console.log($box.innerWidth())
// 设置,将增加或减少的值设置给了 width 属性
$box.innerWidth(400)

// 获取 border 及以内区域的大小
console.log($box.outerWidth())
// 设置,将增加或减少的值设置给了 width 属性
$box.outerWidth(440)

jQuery 操作元素的位置

获取元素距离文档的位置

  • 语法:jQuery 对象.offset();
  • 返回一个对象,对象中包含了元素的位置
  • 注意:offset() 方法获取的元素的位置,永远参照文档,和定位没有关系.
// 获取元素距离文档的位置
var $son = $(".son");
var offsetObj = $son.offset();

距离上级定位参考元素的位置

  • 语法:jQuery 对象.position();
  • 返回的一个对象,对象中包含了元素的位置
  • 注意:position() 方法获取的元素的位置,参照最近的定位元素(和定位有关系)
// 获取元素距离上级定位参考元素的位置
var $son = $(".son");
var positionObj = $son.position();
console.log(positionObj)
console.log(positionObj.left)

操作卷去的页面间距

  • 获取
    语法:jQuery 对象.scrollTop(); 返回数字
  • 设置
    语法:jQuery 对象.scrollTop(数字);
// 给元素添加滚动事件
$(".box").scroll(function () {
    // 获取滚动条卷走的距离
    console.log($(this).scrollTop())
})

// 给文档设置滚动事件
$(document).scroll(function () {
    // 获取滚动条卷走的距离
    console.log($(this).scrollTop())
})

// 通过点击返回顶部按钮,将文档的卷走的距离设置为 0 
$(".backtop").click(function () {
    // 设置 scrollTop 的值
    $(document).scrollTop(0)
})