jQuery技术

jQuery.add()

字号+ 作者:H5之家 来源:H5之家 2017-10-14 16:06 我要评论( )

jQuery中的.add()是用来追加元素的一种方法,.add(expr,[context])把与表达式匹配的元素添加到jQuery对象中。他可以用于连接分别与两个表达式匹配的元素结果集。

jQuery中的.add()是用来追加元素的一种方法,.add(expr,[context])把与表达式匹配的元素添加到jQuery对象中。他可以用于连接分别与两个表达式匹配的元素结果集。jQuery API中是这样描述.add()方法:

下分具体来看.add()各种方法如何在实际中实现效果,为了更好的说明问题,我先创建一个DOM树。

<div> <ul> <li>test</li> <li>test</li> <li>test</li> <li>test</li> </ul> <p>paragraph</p> <span>test span</span> </div>

应用一点初步样式:

ul.test { overflow: hidden; } ul.test li { width: 50px; height: 50px; float: left; display: inline; border: 1px solid green; margin-right: 10px } .paragraph { clear: both; padding: 5px; border: 1px solid orange; margin-top: 10px; } 一、.add(selector):

.add(selector)就是在对像原有的基础上追加相匹配的元素,其中selector表示找到更多的元素追加到对像的一个表达式。简单一点就是选择器。如:

<script type="text/javascript"> $(function(){ $("ul.test li").add(".paragraph").css("background","green"); }); </script>

上面JQ表示的是:$("ul.test li")选择了ul.test所有列表项,而.add(".paragraph")所表示的是在原选择的基础上在追加选中了一个class叫“.paragraph”元素,并在选中的jQuery的对象上应用了一个样式“.css("background","green")”。其实这里的.add(selector)就相当于一个多选择器一样,我们也可以把上面的jQuery代码换成:

<script type="text/javascript"> $(function(){ $("ul.test li,.paragraph").css("background","green"); }); </script>

效果:

总结:jQuery中的.add(selector)所起作用就是类似于jQuery的多选择器“$(selector1,selector2)”。其中.add(selector)中也可以是多项选择,如.add(selector1,selector2,...,selecotrN)。

二、.add(elements)

.add(elements)表示的是在jQuery原对像的基础上追加一个或多个HTML元素,其实其起作用很像.add(selector)的效果,如:

<script type="text/javascript"> $(function(){ $("ul.test li").add(".demo p").css("border","3px dotted red"); }); </script>

上所表示的意思是,在ul.test的列表基础上追加了div.demo下的所有p元素,并应用了样式“border: 3px dotted red”。效果如下:

总结:.add(elements)和.add(selector)极其相似,其区别之处在于.add(selector)中的selector是html的各种选择器,而.add(elements)中的elements是html元素标签。但实现的效果都是一致的,就是把元素追加到jQuery的对象中形成一个新的元素集合。

三、.add(html)

.add(html)是指在jQuery对象的基础上追加一段HTML片段。可以动态的创建html的DOM元素,如:

<script type="text/javascript"> $(function(){ $(".paragraph").clone().add("<span>新创建的一个span标签</span>").appendTo("div.demo"); }); </script>

上面所表示的是:首选通过.clone()方法客隆了一个p.paragraph元素,并在此基础上通过.add("<span>新创建的一个span标签</span>")追加了一个span元素,并将这个组合的新元素集合通过.appendTo()插入到div.demo这个元素中。如图所示:

四、.add(jQuery object)

.add(jQuery object)是在jQuery对像上追加现有的jQuery对像,从而形成新的元素集合

<script type="text/javascript"> $(function(){ $(".paragraph").add(document.getElementById("span")).css("background","lime"); }); </script>

效果:

总结:从上面的效果图中不难发现.add(jQuery object)和前面所说的.add(selector)以及.add(elements)所达到的效果就是一样的,就是在原对像的基础上追加相匹配的元素,从而形成一个新的元素集合。

五、.add(selector,content)

简单理解就是根据上下文追加新元素。类似于$(selector,content)。如:

<script type="text/javascript"> $(function(){ var ultest = $("ul.test"); $("#span").click(function(){ $(".paragraph").add(ultest,document).hide(); }); }); </script>

上面效果不用说,大家都知道,点击#span后p.paragraph和ul.test将被隐藏,请看firebug下的截图(点击后的)

上面简单介绍了jQuery中的.add()的使用方法,规纳起来,其主要是起得作用就是在jQuery中选中对像基础上追加相应的元素,形成一个新的元素集合。

如需转载烦请注明出处:W3CPLUS

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Jquery统计表单文件总大小

    Jquery统计表单文件总大小

    2017-10-14 15:34

  • web前端面试题:JQuery的优缺点是什么

    web前端面试题:JQuery的优缺点是什么

    2017-10-14 13:01

  • 【jQuery插件开发技巧】

    【jQuery插件开发技巧】

    2017-10-12 14:05

  • JSJquery中的循环/遍历

    JSJquery中的循环/遍历

    2017-10-12 13:44

网友点评
/