资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

关于afterjQuery的信息

Jquery中的append跟prepend,after和before的区别

一、after()和before()方法的区别

成都创新互联公司服务项目包括海州网站建设、海州网站制作、海州网页制作以及海州网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,海州网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到海州省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

after()——其方法是将方法里面的参数添加到jquery对象后面去;

如:A.after(B)的意思是将B放到A后面去;

before()——其方法是将方法里面的参数添加到jquery对象前面去。

如:A.before(B)的意思是将A放到B前面去;

二、insertAfter()和insertBefore()的方法的区别

其实是将元素对调位置;

可以是页面上已有元素;也可以是动态添加进来的元素。

如:A.insertAfter(B);即将A元素调换到B元素后面;

如spanCC/spanpHELLO/p使用$("span").insertAfter($("p"))后,就变为pHELLO/pspanCC/span了。两者位置调换了

三、append()和appendTo()方法的区别

append()——其方法是将方法里面的参数添加到jquery对象中来;

如:A.append(B)的意思是将B放到A中来,后面追加,A的子元素的最后一个位置;

appendTo()——其方法是将jquery对象添加到appendTo指定的参数中去。

如:A.appendTo(B)的意思是将A放到B中去,后面追加,B的子元素的最后一个位置;

四、prepend()和prependTo()方法的区别

append()——其方法是将方法里面的参数添加到jquery对象中来;

如:A.append(B)的意思是将B放到A中来,插入到A的子元素的第一个位置;

appendTo()——其方法是将jquery对象添加到appendTo指定的参数中去。

如:A.appendTo(B)的意思是将A放到B中去,插入到B的子元素的第一个位置;

例子

1、insert局部方法

/**

* 在父级元素上操作DOM

* @param {Object} parent 父级元素,可以是element,也可以是Yquery对象

* @param {String} position 位置: beforebegin/afterbegin/beforeend/afterend

* @param {*} any 任何:string/text/object

* @param {Number} index 序号,如果大于0则复制节点

* @return {Undefined}

* @version 1.0

* 2013年12月2日17:08:26

*/

function _insert(parent, position, any, index) {

if ($.isFunction(any)) {

any = any.call(parent);

}

// 字符串

if ($.isString(any)) {

if (regTag.test(any)) {

parent.insertAdjacentHTML(position, any);

} else {

parent.insertAdjacentText(position, any);

}

}

// 数字

else if ($.isNumber(any)) {

parent.insertAdjacentText(position, any);

}

// 元素

else if ($.isElement(any)) {

parent.insertAdjacentElement(position, index 0 ? any.cloneNode(!0) : any);

}

// Yquery

else if (_isYquery(any)) {

any.each(function() {

_insert(parent, position, this);

});

}

}

2、append、prepend、before、after

$.fn = {

/**

* 追插

* 将元素后插到当前元素(集合)内

* @param {String/Element/Function} any

* @return this

* @version 1.0

* 2013年12月29日1:44:15

*/

append: function(any) {

return this.each(function(index) {

_insert(this, 'beforeend', any, index);

});

},

/**

* 补插

* 将元素前插到当前元素(集合)内

* @param {String/Element/Function} any

* @return this

* @version 1.0

* 2013年12月29日1:44:15

*/

prepend: function(any) {

return this.each(function(index) {

_insert(this, 'afterbegin', any, index);

});

},

/**

* 前插

* 将元素前插到当前元素(集合)前

* @param {String/Element/Function} any

* @return this

* @version 1.0

* 2013年12月29日1:44:15

*/

before: function(any) {

return this.each(function(index) {

_insert(this, 'beforebegin', any, index);

});

},

/**

* 后插

* 将元素后插到当前元素(集合)后

* @param {String/Element/Function} any

* @return this

* @version 1.0

* 2013年12月29日1:44:15

*/

after: function(any) {

return this.each(function(index) {

_insert(this, 'afterend', any, index);

});

}

};

3、prependTo、prependTo、insertBefore、insertAfter

这些带后缀的与上面的不同的是,返回的结果不一样。如:

$('#demo').append('a/');

// = 返回的是 $('#demo')

$('a/').appendTo($('#demo'));

// = 返回的是$('a');

因此两者的关系只是返回结果不一样,其他的都一样,可以这么解决:

_each({

appendTo: 'append',

prependTo: 'prepend',

insertBefore: 'before',

insertAfter: 'after'

}, function(key, val) {

$.fn[key] = function(selector) {

this.each(function() {

$(selector)[val](this);

});

return this;

};

});

jquery中after与insertAfter有什么区别

jquery的dom操作方法中,包括了after与insertAfter,这两个方法名字相近,所实现的功能从名 字中不容易分辨,所以在经过试验后撰文一篇以加深记忆。

测试代码如下:

html

head

meta charset=”utf-8″

title 测试insertAfter与after的区别 /title

/head

body

ul

li class=”first”first/li

li class=”middle”middle/li

li class=”last”last/li

/ul

/body

/html

自然状态下显示是这样的:

添加脚本:$(‘.first’).insertAfter($(‘.last’));

则会把first移到last后面去,变成了这样:

如果把insertAfter方法换为after,效果则为:

从上述对比可以看出,其实这两个方法的差别就像主语跟宾语的差别一样,是主与从的问题。

after方法,是把参数元素移到调用方法的元素的后面,而insertAfter方法则恰恰相反,是把调用 方法的元素插入到参数元素的后面。

另外要注意的是,当要用这两个方法在dom树中添加新元素时,如

”linew/li”,这样的html字符串不能出现在after方法的调用主体或

insertAfter的参数中,因为这样一来,jquery不知道要把新元素放到哪里去,反而会导致要相关的原 有元素丢失。

jquery的after操作方法

append 没有empty的属性啊。。。。 html(),才是把里面的内容清空替换成你的内容。append 是在被选元素里面的最后插入内容。after是被选元素后插入内容。 一个是里面的后面插(append) 一个是外面的后面插(after)。如果你非要清空那你直接empty()后在after就可以了


网站栏目:关于afterjQuery的信息
文章链接:http://cdkjz.cn/article/dsedgcs.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220