JavaScript和jQuery的DOM操作

    技术2025-09-08  70

    1.创建元素节点传统的javascript方法,创建元素节点var a  = document.createElement("p");jQuery中创建节点的方法是:$('< p>< /p>');和createElement()一样,创建出来的新元素节点不会被自动添加到文档里。如果想把它添加到文档里,可以使用 jQuery中的append()或者insertAfter()方法或者before ()等方法。比如:var a = $('< p>< /p>');$('body').append(a);//添加到body元素的最后.

    2.创建文本节点传统的javascript方法,创建文本节点var b = document.createTextNode("my demo");通常创建文本节点和创建元素节点配合使用.比如:var mes = document.createTextNode("hello world");var container = document.createElement("p");container.appendChild(mes);document.body.appendChild(container);

    而在jQuery中创建节点就不必那么麻烦了:$('< p>hello world< /p>');和createElement()一样,创建出来的新元素节点不会被自动添加到文档里。如果想把它添加到文档里,可以使用 jQuery中的 append()或者insertAfter()方法或者 before ()等方法。比如:var a = $('< p>hello world< /p>');$('body').append(a);//添加到body元素的最后.

     

    3.复制节点传统的javascript方法,复制节点:比如:var mes = document.createTextNode("hello world");var container = document.createElement("p");container.appendChild(mes);document.body.appendChild(container);var newpara = container.cloneNode(true);//true和false的区别document.body.appendChild(newpara );注意:true : 是< p>aaaa< /p> 克隆。false: 只克隆 < p>< /p> ,里面的文本不克隆。可以用 firebug 看看。

    在jQuery中复制节点:var a = $('< p>hello world< /p>');$('body').append(a);var clone_a = a.clone();$('body').append(clone_a);

    和createElement()一样,复制出来的新元素节点不会被自动添加到文档里。如果想把它添加到文档里,可以使用 jQuery中的 append()或者insertAfter()方法或者 before ()等方法。另外还有一个注意:如果克隆后,id一样,不要忘记用.attr("id","new_id")来改变新的节点的ID。

     

    4.插入节点传统的javascript方法,插入节点:比如:appendChild() :给元素追加一个子节点, 新的节点插入到最后。var container = document.createElement("p");document.body.appendChild(container);

    insertBefore()  :顾名思义,就是把一个新的节点插入到目标节点的前面。targerNode.parentNode.insertBefore(newNode,targerNode);

    注意:DOM没有提供insertAfter()方法

    在jQuery中插入节点比javascript自带的多了很多,比如:.append().appendTo().prepend().prependTo().after().insertAfter().before().insertBefore()所以对dom操作的简化也是jquery的亮点之一。

    5.删除节点传统的javascript方法,删除节点:比如:var b = document.getElementById("b");var c = b.parentNode;c.removeChild(b);

    在jQuery中的删除节点:比如:$('#test2').remove();

     

    6.替换节点传统的javascript方法,替换节点:比如:Element.repalceChild( newNode , oldNode );oldNode必须是Element的一个子节点。

    在jQuery中的替换节点:比如:$("< p>替换 test1 ! < /p>").replaceAll("#test1");   //把ID为test1的块替换为:< p>替换 test1 ! < /p>

    $("#test1").replaceWith("< p>替换 test1 ! < /p>");   //把ID为test1的块替换为:< p>替换 test1 ! < /p>

     

    7.设置属性,获取属性传统的javascript方法,设置属性,获取属性:比如:setAttribute();//设置var a  = document.createElement(“p”);a.setAttribute("title","my demo");不管以前有没有title属性,以后的值是 my demo。

    getAttribute();//获取var a =document.getElementById("cssrain");var b = a.getAttribute("title");获取的时候,如果属性不存在,则返回空,

    在jQuery中的设置属性,获取属性:比如:$("#test1").attr({ "class" : "test" , "title" : "TestDemo!" });$("#test1").attr("class");

     

    8.查找节点查找节点对jQuery来说 简直是小菜一碟.jQuery最引入关注的就是查找节点,也就是通常所说的选择器.比如:$('#id')$('.class')$('tag')$('tag.class')$('#id tag')$('tag#id')$('#id:visible')$('#id .class')$('.class .class')....

    最新回复(0)