JQuery DOM 包裹节点

服务器君一共花费了17.491 ms进行了6次数据库查询,努力地为您提供了提供了这个页面。

如果要将某个节点用其他标记包裹起来,JQuery提供了相应的方法,即wrap(),该方法对于需要在文档中插入额外的结构化标记非常有用,而且它不会破坏原始文档的语义。

效果演示

欢迎访问简明现代魔法图书馆

  • 简单易懂的PHP魔法
  • 简单易懂的C魔法
  • 简单易懂的JavaScript魔法
  • 简单易懂的JQuery魔法

wrap()

$("#li_1").wrap("<strong></strong>");

得到的结果如下:

<strong>
	<li id="li_1" title="PHP魔法">简单易懂的PHP魔法</li>
</strong>

包裹节点操作还有其他两个方法,即wrapAll()和wrapInner()。

wrapAll()方法

该方法会将所有匹配的元素用一个元素来包裹。它不同于wrap()方法,wrap()方法是将所有的元素进行单独的包裹。JQuery代码如下:

$(".li_2").wrapAll("<strong></strong>");

使用wrapAll()方法包裹后的HTML是这样的:

<strong>
	<li class="li_2" title="C魔法">简单易懂的C魔法</li>
	<li class="li_2" title="JavaScript魔法">简单易懂的JavaScript魔法</li>
</strong>

wrapInner()方法

该方法将每一个匹配的元素的子内容(包括文本节点)用其他结构化的标记包裹起来。

$("#li_4").wrapInner("<strong></strong>");

运行代码后,发现<strong>标签内的内容被一对<li>标签包裹了,结果如下:

<li id="li_4" title="JQuery">
	<strong>简单易懂的JQuery魔法</strong>
</li>

本例的JQuery代码如下:

<script type="text/javascript">
//<![CDATA[
$(function(){
	$("#btn_1").click(function(){
		//用<strong>元素把<li>元素包裹起来
		$("#li_1").wrap("<strong></strong>");
	})
	$("#btn_2").click(function(){
		$(".li_2").wrapAll("<strong></strong>");
	})
	$("#btn_3").click(function(){
		$("#li_4").wrapInner("<strong></strong>");
	})
});
//]]>
</script>

Creative Commons License

本文仅供自己学习与收藏之用,请勿转载,请勿用作其它用途(如商业目的等)。 原文链接:http://www.nowamagic.net/librarys/posts/jquery/15