使用jQuery修改DOM相当简单
添加元素
append() 方法
在被选元素的结尾插入内容(仍然该元素的内部)
- 可以一次添加多个内容,内容可以是DOM对象、HTML string、 jQuery对象
- 如果参数是function,function可以返回DOM对象、HTML string、 jQuery对象,参数是集合中的元素位置与原来的html值
$("p").append("追加文本");
appendTo()方法
把对象插入到目标元素尾部,目标元素可以是selector, DOM对象, HTML string, 元素集合, jQuery对象;
$( "h2" ).appendTo( $( ".container" ) );
prepend() 方法
在被选元素的开头插入内容。
$("p").prepend("在开头追加文本");
prependTo()方法
把对象插入到目标元素头部,目标元素可以是selector, DOM对象, HTML string, 元素集合, jQuery对象;
$( ".container" ).before( $( "h2" ) );
after() 和 before() 方法
after() 方法在被选元素之后(不是头部,而是外面,和对象并列同级)插入内容。
before() 方法在被选元素之前(不是头部,而是外面,和对象并列同级)插入内容。
$("img").after("在后面添加文本");
$("img").before("在前面添加文本");
insertBefore(target)方法
把对象插入到target之前(不是头部,是同级)
$( "h2" ).insertBefore( $( ".container" ) );
insertAfter(target)方法
把对象插入到target之后(不是头部,是同级)
$( ".container" ).insertAfter( $( "h2" ) );
拓展
通过 append() 和 prepend() 方法添加若干新元素
append() 和 prepend() 方法能够通过参数接收无限数量的新元素。可以通过 jQuery 来生成文本/HTML,或者通过 JavaScript 代码和 DOM 元素。
我们创建若干个新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后我们通过 append() 方法把这些新元素追加到文本中(prepend() 用法同样):
function appendText()
{
var txt1="<p>文本。</p>"; 使用 HTML 标签创建文本
var txt2=$("<p></p>").text("文本。"); 使用 jQuery 创建文本
var txt3=document.createElement("p");
txt3.innerHTML="文本。"; 使用 DOM 创建文本
$("body").append(txt1,txt2,txt3); 追加新元素
}
通过 after() 和 before() 方法添加若干新元素
after() 和 before() 方法能够通过参数接收无限数量的新元素。可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建新元素。
我们创建若干新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后我们通过 after() 方法把这些新元素插到文本中(before() 用法同样):
function afterText()
{
var txt1="<b>I </b>"; // 使用 HTML 创建元素
var txt2=$("<i></i>").text("love "); // 使用 jQuery 创建元素
var txt3=document.createElement("big"); // 使用 DOM 创建元素
txt3.innerHTML="jQuery!";
$("img").after(txt1,txt2,txt3); // 在图片后添加文本
}
删除元素
remove()方法
删除被选元素(及其子元素)
$("#div1").remove();
empty()方法
从被选元素中删除子元素
$("#div1").empty();
detach()方法
移除被选元素,包括所有的文本和子节点。然后它会保留数据和事件。该方法会保留移除元素的副本,允许它们在以后被重新插入。(如需移除元素及它的数据和事件,请使用 remove 方法代替。从被选元素移除内容,请使用 empty() 方法)
$("button").click(function(){
$("p").detach();
}); 移除所有的 <p> 元素
包裹元素
text()方法
设置或返回所选元素的文本内容,操作的是DOM的innerText值
$("#btn1").click(function(){
alert("Text: " + $("#test").text());
});
html()方法
这是一个读写两用的方法,用于获取/修改元素的innerHTML
- 当没有传递参数的时候,返回元素的innerHTML
- 当传递了一个string参数的时候,修改元素的innerHTML为参数值
$("#btn2").click(function(){
alert("HTML: " + $("#test").html());
});