大家好,我正在为我的网站编写一个小版本的 jquery(不是全部)。(为了缩短我的代码)
我达到了 prependTo 和 appendTo 方法,这对我提出了一个问题:
jQuery 是否使用 clone 方法或 cloneNode 方法来构建此功能?
谢谢....
大家好,我正在为我的网站编写一个小版本的 jquery(不是全部)。(为了缩短我的代码)
我达到了 prependTo 和 appendTo 方法,这对我提出了一个问题:
jQuery 是否使用 clone 方法或 cloneNode 方法来构建此功能?
谢谢....
根据appentTo()
文档,这取决于您是针对一个现有元素还是多个元素。
我们还可以选择页面上的一个元素并将其插入到另一个元素中:
$( "h2" ).appendTo( $( ".container" ) );
如果以这种方式选择的元素插入到 DOM 中其他位置的单个位置,它将被移动到目标(未克隆)并返回由插入元素组成的新集合:
<div class="container">
<div class="inner">Hello</div>
<div class="inner">Goodbye</div>
<h2>Greetings</h2>
</div>
但是,如果有多个目标元素,则将为除最后一个目标之外的每个目标创建插入元素的克隆副本,并返回新集合(原始元素加上克隆)。
domManip
根据下面的@Andreas 评论,如果满足正确的条件,
该方法似乎可以克隆节点。https://github.com/jquery/jquery/blob/master/src/manipulation.js#L310
append: function() {
return domManip( this, arguments, function( elem ) {
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
var target = manipulationTarget( this, elem );
target.appendChild( elem );
}
} );
},