网站建设资讯

NEWS

网站建设资讯

jqueryafter的简单介绍

jquery中append,prepend,before和after方法的区别

append:在元素内部的最后面添加元素,作为子元素,如:

土默特右旗网站建设公司创新互联,土默特右旗网站设计制作,有大型网站制作公司丰富经验。已为土默特右旗上1000+提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的土默特右旗做网站的公司定做!

通过jquery代码$("div").append("p我是通过append添加的/p");

得到的结果是

prepend:在元素内部的最前面添加元素,作为子元素,如:

通过jquery代码$("div").prepend("p我是通过prepend添加的/p");

得到的结果是

before:在元素的前边,作为兄弟元素添加,如

通过jquery代码 $(".base").before("div我是在前边添加的兄弟节点/div");

得到的结果是

after:在元素的后边,作为兄弟元素添加,如

通过jquery代码 $(".base").after("div我是在后边添加的兄弟节点/div");得到的结果是

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将指定标签中的元素添加其后面

问题分析:

首先复述一下你的需求:在页面加载完毕后,将页面中#skin下的img标签进行修改,将其alt属性的值复制一份到其title属性。并在其后面追加h4标签,h4标签的内容为alt属性的值。

解决步骤:

通过使用jQuery的each方法遍历多个img标签。

1、获取alt属性的值。

2、通过jQuery的attr方法将获取的alt属性的值赋值给title属性。

3、通过jQuery的after方法将h4标签追加到img的后面。

举例如下:

HTML代码:

div id="skin"

img src="felix.jpg" alt="felix"

img src="felix.jpg" alt="felix"

img src="felix.jpg" alt="felix"

/div

jQuery代码:

$.each($('#skin img'), function() {

var alt = $(this).attr('alt');

$(this).attr('title', alt).after('h4' + alt + '/h4');

});

页面运行后的HTML代码:

总结:从以上代码截图可以看出,在页面运行后,img标签中多了title属性,以及后面被追加了h4标签,title属性以及h4标签的值与alt属性完全相等。

jquery的after操作方法

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

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不知道要把新元素放到哪里去,反而会导致要相关的原 有元素丢失。


分享文章:jqueryafter的简单介绍
文章起源:http://cdweb.net/article/phsjhe.html