zoukankan      html  css  js  c++  java
  • 原生JS与jQuery操作DOM对比

    一、创建元素节点

    1.1 原生JS创建元素节点

    document.createElement("p");

    1.2 jQuery创建元素节点

    $('<p></p>');`

    二、创建并添加文本节点

    2.1 原生JS创建文本节点

    document.createTextNode("Text Content");

    通常创建文本节点和创建元素节点配合使用,比如:

    var textEl = document.createTextNode("Hello World.");
    var pEl = document.createElement("p");
    pEl.appendChild(textEl);

    2.2 jQuery创建并添加文本节点:

    var $p = $('<p>Hello World.</p>');

    三、复制节点

    3.1 原生JS复制节点:

    var newEl = pEl.cloneNode(true);  `

    3.2 jQuery复制节点

    $newEl = $('#pEl').clone(true);

    四、 插入节点

    4.1 原生JS向子节点列表的末尾添加新的子节点

    El.appendChild(newNode);

    原生JS在节点的已有子节点之前插入一个新的子节点:

    El.insertBefore(newNode, targetNode);

    4.2 在jQuery中,插入节点的方法比原生JS多的多

    在匹配元素子节点列表结尾添加内容

    $('#El').append('<p>Hello World.</p>');

    把匹配元素添加到目标元素子节点列表结尾

    $('<p>Hello World.</p>').appendTo('#El')

    在匹配元素子节点列表开头添加内容

    $('#El').prepend('<p>Hello World.</p>');

    把匹配元素添加到目标元素子节点列表开头

    $('<p>Hello World.</p>').prependTo('#El');

    在匹配元素之前添加目标内容

    $('#El').before('<p>Hello World.</p>');

    把匹配元素添加到目标元素之前

    $('<p>Hello World.</p>').insertBefore('#El');

    在匹配元素之后添加目标内容

    $('#El').after('<p>Hello World.</p>');

    把匹配元素添加到目标元素之后

    $('<p>Hello World.</p>').insertAfter('#El');

    五、删除节点

    5.1 原生JS删除节点

    El.parentNode.removeChild(El);

    5.2 jQuery删除节点

    $('#El').remove();

    六、替换节点

    6.1 原生JS替换节点

    El.repalceChild(newNode, oldNode);

    6.2 jQuery替换节点

    $('p').replaceWith('<p>Hello World.</p>');

    七、设置属性/获取属性

    7.1 原生JS设置属性/获取属性

    imgEl.setAttribute("title", "logo");
    imgEl.getAttribute("title");
    checkboxEl.checked = true;
    checkboxEl.checked;

    7.2 jQuery设置属性/获取属性:

    $("#logo").attr({"title": "logo"});
    $("#logo").attr("title");
    $("#checkbox").prop({"checked": true});
    $("#checkbox").prop("checked");
  • 相关阅读:
    植物大战僵尸英文原版
    2020-5-13递归练习 六人参加竞赛
    2020-5-1递归练习
    java当脚本用。QQ表白轰炸机
    面向实战---VUE项目的文件加载顺序,或者加载流程,以及index.html,main.js,app.vue的区别
    CSS多个view随机分布,不重叠,如何实现呢?
    vite项目才踩坑日志1
    css属性之clip-path
    纯CSS3实现的阳光海鸥沙滩遮阳伞和比基尼美女风景动画效果源码
    TP5 中使用wherein 进行查询,太慢了,怎么优化?
  • 原文地址:https://www.cnblogs.com/QianBoy/p/7868379.html
Copyright © 2011-2022 走看看