从零玩转jQuery-文档处理

作者: 极客江南 | 来源:发表于2018-04-20 22:44 被阅读764次

添加节点

// 1.创建一个节点
var $li = $("<li>新增的li</li>");
// 2.添加节点
// $("ul").append($li);
$li.appendTo("ul");
// 1.创建一个节点
var $li = $("<li>新增的li</li>");
// 2.添加节点
// $("ul").prepend($li);
$li.prependTo("ul");
// 1.创建一个节点
var $li = $("<li>新增的li</li>");
// 2.添加节点
// $("ul").after($li);
$li.insertAfter("ul");
// 1.创建一个节点
var $li = $("<li>新增的li</li>");
// 2.添加节点
// $("ul").before($li);
$li.insertBefore("ul");

删除节点

  • empty()
    • 删除指定元素的内容和子元素, 指定元素自身不会被删除
$("div").empty();
// 删除所有div
$("div").remove();
// 删除div中id是box1的那个div
$("div").remove("#box1");
// 删除所有div
$("div").detach();
// 删除div中id是box1的那个div
$("div").detach("#box1");
  • remove和detach区别
    • remove删除元素后,元素上的事件会被移出
    • detach删除元素后,元素上的事件会被保留
$("button").click(function () {
    // $("div").remove();
    // $("div").empty();
    // $("li").remove(".item");

    // 利用remove删除之后再重新添加,原有的事件无法响应
    // var $div = $("div").remove();
    // 利用detach删除之后再重新添加,原有事件可以响应
    var $div = $("div").detach();
    // console.log($div);
    // 将删除的返回值重新添加到body上
    $("body").append($div);
});
$("div").click(function () {
    alert("div被点击了");
});

替换节点

  • replaceWith(content|fn)
    • 将所有匹配的元素替换成指定的HTML或DOM元素
    • replaceWith参数可以是一个DOM元素
    • replaceWith参数也可以是一个代码片段
  • replaceAll(selector)
    • 用匹配的元素替换掉所有 selector匹配到的元素
// 编写jQuery相关代码
$("button").click(function () {
    // 创建一个新的节点
    var $item = $("<h6>我是标题6</h6>");
    // 利用新的节点替换旧的节点
    // $("h1").replaceWith($item);
    $item.replaceAll("h1");
});

复制节点

  • 复制一个节点
  • 浅复制不会复制节点的事件
  • 深复制会复制节点的事件
$(function () {
    // clone([Even[,deepEven]])
    $("button").eq(0).click(function () {
        // 1.浅复制一个元素
        var $li = $("li:first").clone(false);
        // 2.将复制的元素添加到ul中
        $("ul").append($li); // 点击li无法响应事件
    });
    $("button").eq(1).click(function () {
        // 1.深复制一个元素
        var $li = $("li:first").clone(true);
        // 2.将复制的元素添加到ul中
        $("ul").append($li); // 点击li可以响应事件
    });

    $("li").click(function () {
        alert($(this).html());
    });
});

包裹节点

  • 都讲了这么多了, 骚年动动手, 查阅下文档, 尝试下自学这几个方法
  • 编程不是死记硬背, 是学会找到解决问题的思路和自学新知识的方法

节点操作练习

相关文章

  • 从零玩转jQuery-文档处理

    添加节点 内部插入 append(content|fn) appendTo(content)将元素添加到指定元素内...

  • 2018-06-12

    从零玩转jQuery-初识jQuery 课前须知: 学习jQuery前必须先掌握JavaScriptjQuery虽...

  • 从零玩转jQuery-事件处理

    事件绑定 jQuery中事件绑定有两种方式eventName(function(){})绑定对应事件名的监听, ...

  • jQuery-文档处理

    jQuery添加节点 append(content|fn) appendTo(content)将元素添加到指定元素...

  • 从零玩转jQuery-初识jQuery

    课前须知: 学习jQuery前必须先掌握JavaScriptjQuery虽然属于前端技术, 但是对于后端人员(诸如...

  • 从零玩转jQuery-入口函数

    jQuery入口函数 jQuery与JavaScript加载模式对比 多个window.onload只会执行一次,...

  • 从零玩转jQuery-动画效果

    显示、隐藏动画 show([s,[e],[fn]]) 显示动画 内部实现原理根据当前操作的元素是块级还是行内决定,...

  • 从零玩转jQuery-选择器

    基础选择器 视频参考第十章-CSS选择器 层次选择器 视频参考第十章-CSS选择器 序选择器 视频参考第十章-CS...

  • 从零玩转jQuery-属性相关

    属性和属性节点 什么是属性?属性就是对象身上的变量只要对象身上都可以添加属性(无论是自定义对象,还是DOM对象) ...

  • 撩课-学习地址

    撩课-从零玩转JavaScript 撩课-从零玩转Vue2.x-基础篇 撩课-从零玩转Vue+Node商城项目 撩...

网友评论

  • 9c24a52a2a5f:bxcavsbbxc
  • 奔跑的时间:江哥,有视频链接没?:smile:
    极客江南:@奔跑的时间 http://study.163.com/course/courseMain.htm?courseId=1005220017&;share=2&shareId=1026367774
  • 往事一块六毛八:江哥,视频有下载地址不?
    又回来了:http://study.163.com/course/courseLearn.htm?courseId=1005220017#/learn/video?lessonId=1052010319&courseId=1005220017
  • 汤志强:可能只看文档了,视频没时间看了

本文标题:从零玩转jQuery-文档处理

本文链接:https://www.haomeiwen.com/subject/kprzqftx.html