您的位置:首页 > 移动开发

appendChild和insertBefore ,append和appendTo

2015-07-21 11:18 429 查看
  $(selector).append(content,function(index,html))   //jQuery

  $(content).appendTo(selector)  //jQuery

  node.appendChild(node)//DOM

  node.insertBefore(newnode,existingnode)   //DOM  

  $(content).insertBefore(selector)// //jQuery

   

1.  $(selector).append(content,function(index,html))
  //jQuery

var txt1="<p>Text.</p>";                // Create text with HTML
var txt2=$("<p></p>").text("Text.");  // Create text with jQuery
var txt3=document.createElement("p");
txt3.innerHTML="Text.";                   // Create text with DOM
$("body").append(txt1,txt2,txt3);        // Append new elements


         
$("button").append(" <b>ooo</b>")
var kl = document.createElement("li");
$(kl).append("ofijio");
$("p").append("ppppp");
$("p").append("<p>kkkk</p>");


2. $(content).appendTo(selector) 
//jQuery

$("h1").appendTo("p");
$("<span>1w</span>").appendTo($("button"));


3.node.appendChild(node)    //DOM

var node=document.createElement("LI");
var textnode=document.createTextNode("Water");
node.appendChild(textnode);
document.getElementById("myList").appendChild(node);


     
var nodechild=document.getElementById("w1").lastChild;
var node2 =document.getElementById("w2");
node2.appendChild(nodechild);//DOM


4.node.insertBefore(newnode,existingnode)   //DOM  

var node=document.getElementById("myList2").lastChild;
var list=document.getElementById("myList1");
list.insertBefore(node,list.childNodes[0]);



var nodechild=document.getElementById("w1").lastChild;
var node2 =document.getElementById("w2");
node2.insertBefore(nodechild,node2.firstChild);//DOM

var kl = document.createElement("li");
node2.insertBefore(kl,node2.firstChild);

5.  $(content).insertBefore(selector)      //jQuery

var chl =$("[name=divame]").children().last().children().first(); //   chl是jQuery对象
$("<li>cccuuu</li>").insertBefore(chl);//jQuery


$("<li>liushahe</li>").insertBefore($(node2.firstChild));
$("<span>Hello world!</span>").insertBefore("p");




DOM操作:

首先 从定义来理解 这两个方法:

appendChild() 方法:可向节点的子节点列表的末尾添加新的子节点。语法:appendChild(newchild)

insertBefore() 方法:可在已有的子节点前插入一个新的子节点。语法 :insertBefore(newchild,refchild)

相同之处:插入子节点

不同之处:实现原理方法不同。

     appendChild方法是在父级节点中的子节点的末尾添加新的节点(相对于父级节点 来说)。

       insertBefore 方法 是在已有的节点前添加新的节点(相对于子节点来说的)。

来看个这个简单的实例:在id为box-con 的末尾添加一个子节点div

这个insertBefore 的第一个参数 和appendChild的一样,都是那个新的节点变量,而insertBefore 第二个参数不仅可以为null 

insertAfter:  

function insertAfter(newEl, targetEl)

{

    var parentEl = targetEl.parentNode;

            

     if(parentEl.lastChild == targetEl)

     {

           parentEl.appendChild(newEl);

      }else

      {

           parentEl.insertBefore(newEl,targetEl.nextSibling);

       }            

}

$("<b> Hello jQuery!</b>").appendTo("p");  

$(selector).append(content);

$(selector).append(function(index,html));

$(content).appendto(selector);

原文:http://www.cnblogs.com/mybkn/archive/2013/04/09/3011061.html?utm_source=tuicool
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript