append函数不返回附加的对象吗?
假设this
是dom中的一些现有块级元素,并且image
是http://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 ); } }); }