append函数不返回附加的对象吗?

假设this是dom中的一些现有块级元素,并且imagehttp://sofzh.miximages.com/javascript/nav_logo25.png执行以下操作无效:

 $(this).append('').attr('src', image).load(function() { alert('loaded'); }); 

应该如下进行?:

 $(this).append($('').attr('src', opts.image).load(function() { alert('loaded'); })); 

或者它应该以其他方式完成?

.append()返回您追加的对象,以获取您在链中追加的对象,使用.appendTo()代替:

 $('').appendTo(this).load(function() { alert('loaded'); }) .attr('src', opts.image); 

两个版本都返回先前链中的内容…但是因为你想要处理使用.appendTo()表单。 另外,为了获得可靠的负载结果,请设置src 之前连接您的负载处理程序如上所述。

不, append返回您要追加的jQuery对象。 来源(1.4.4)

 append: function() { return this.domManip(arguments, true, function( elem ) { if ( this.nodeType === 1 ) { this.appendChild( elem ); } }); }