美文网首页
原生JS与jQuery操作DOM对比.andy

原生JS与jQuery操作DOM对比.andy

作者: 李二丶 | 来源:发表于2017-10-16 14:05 被阅读0次

    1.1 原生JS创建元素节点

    1

    document.createElement("p");

    1.2jQuery创建元素节点

    1

    $('');`

    二、创建并添加文本节点

    2.1 原生JS创建文本节点

    1

    `document.createTextNode("Text Content");

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

    1

    2

    3vartextEl =document.createTextNode("Hello World.");

    varpEl =document.createElement("p");

    pEl.appendChild(textEl);

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

    1

    var$p = $('

    Hello World.

    ');

    三、复制节点

    3.1 原生JS复制节点:

    1

    varnewEl = pEl.cloneNode(true);`

    true和false的区别:

    true:克隆整个'

    Hello World.

    '节点

    false:只克隆'',不克隆文本Hello World.'

    3.2jQuery复制节点

    1

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

    注意:克隆节点要避免`ID重复

    四、 插入节点

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

    1

    El.appendChild(newNode);

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

    1

    El.insertBefore(newNode, targetNode);

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

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

    1

    $('#El').append('

    Hello World.

    ');

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

    1

    $('

    Hello World.

    ').appendTo('#El');

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

    1

    $('#El').prepend('

    Hello World.

    ');

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

    1

    $('

    Hello World.

    ').prependTo('#El');

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

    1

    $('#El').before('

    Hello World.

    ');

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

    1

    $('

    Hello World.

    ').insertBefore('#El');

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

    1

    $('#El').after('

    Hello World.

    ');

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

    1

    $('

    Hello World.

    ').insertAfter('#El');

    五、删除节点

    5.1 原生JS删除节点

    1

    El.parentNode.removeChild(El);

    5.2 jQuery删除节点

    1

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

    六、替换节点

    6.1 原生JS替换节点

    1

    El.repalceChild(newNode, oldNode);

    注意:oldNode必须是parentEl真实存在的一个子节点

    6.2 jQuery替换节点

    1

    $('p').replaceWith('

    Hello World.

    ');

    七、设置属性/获取属性

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

    1

    2

    3

    4imgEl.setAttribute("title","logo");

    imgEl.getAttribute("title");

    checkboxEl.checked =true;

    checkboxEl.checked;

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

    1

    2

    3

    4$("#logo").attr({"title":"logo"});

    $("#logo").attr("title");

    $("#checkbox").prop({"checked":true});

    $("#checkbox").prop("checked");

    相关文章

      网友评论

          本文标题:原生JS与jQuery操作DOM对比.andy

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