jQuery:append()vs appendTo()
我正在使用以下代码测试jQuery的.append()
vs .appendTo()
方法:
$('div/>', { id : id, text : $(this).text() }).appendTo('div[type|="item"]#'+id); $('div[type|="item"]#'+id).append($(this).text());
请注意,选择器在.appendTo()
和.append()
是相同的,但后者工作(在同一页面内),而前者不工作。 为什么?
如何让.appendTo()
使用这种类型的(复杂) 选择器 ? 这两种方法的插值方式不同吗? 我缺少一些语法吗?
我不想用无关紧要的代码来混淆post:只要说选择器引用的元素存在就足够了,正如产生所需结果的.append()
方法所certificate的那样。 如果需要更多信息,请与我们联系。
谢谢!
要回答这个问题,你没有一个元素可以appendTo
到任何东西,因为你缺少了字符(在你的情况下它是一个开口尖括号 <
)。
这个
$('div/>',{});
需要是
$('',{});
创建一个元素,否则它完全按照你的说法做 - 没什么!
否则你似乎有正确的顺序,就像这样:
-
.append()
将参数指定的内容插入到匹配元素集中每个元素的末尾,如$(Append_To_This).append(The_Content_Given_Here);
-
而
.appendTo()
以相反的方式工作 :它将匹配元素集中的每个元素插入到参数中给定的目标的末尾,如$(The_Content_Given_Here).appendTo(Append_To_This);
还有prependTo()
.prepend()
和prependTo()
完全相同,唯一的区别是前置元素添加在目标元素内容的开头而不是结尾。
append
将参数附加到您正在处理的对象。
appendTo
将您正在处理的对象附加到参数。
更多信息: http : //api.jquery.com/appendTo/
除此之外,这里有一些不妥之处:
$('div/>',
这不是选择任何东西。
我遇到了类似的问题,并且在研究方面获得了更多的见解。 听到目标,元素等令人困惑,我更喜欢将外部选择器可视化为$ container,并将元素添加为$ widget。 用简单的英语,我想将小部件添加到容器中。 append和appendTo都可以通过以下方式使用,并获得完全相同的结果。
$container = $("#containerdiv");
$widget = $("
widget
")
方法1: $container.append($widget)
方法2: $widget.appendTo($container)
关键的区别在于返回的内容。 在第一种情况下,返回$ container,在第二种情况下,返回$ widget。 如果您使用另一个jquery语句链接请求,这将非常有用。 如果你想使用$ container,使用第一个构造并使用widget,请使用第二种方法。 例如,
如果你想将2个小部件附加到容器,你会给
$container.append($widget1).append($widget2)
如果你想添加一个小部件然后小部件的标题来说’酷小工具’,你会给
$widget.appendTo($container).find('#title').text("Cool Widget")
$('#someDiv').append(someStuff); someStuff.appendTo($('someDiv'));
//这里的结果相同,只是根据你的sitch做不同的方式
两种方法都执行相同的任务。 主要区别是 –
- 在语法中,
- 在内容和目标的位置。
使用.append()
,方法前面的选择器表达式是插入内容的容器。
另一方面,使用.appendTo()
,内容在方法之前,作为选择器表达式或动态创建的标记,并将其插入目标容器中。
.append()
方法将指定的内容作为jQuery集合中每个元素的最后一个子节点插入(要将其作为第一个子 .prepend()
插入,请使用.prepend()
)。
.append()
和.appendTo()
方法执行相同的任务。 主要区别在于语法,特别是在内容和目标的位置。 使用.append()
,方法前面的选择器表达式是插入内容的容器。 另一方面,使用.appendTo()
,内容在方法之前,作为选择器表达式或动态创建的标记,并将其插入目标容器中。
使这两个更容易理解。
假设我有三个ABC订购包机。
append
C意味着在A之前移动C,这导致C的重新启动但不是A,所以我们有CAB 。
appendTO
C意味着在C之后移动A,这导致A的重定位而不是C,所以我们有BCA 。
-
append
和’appendTo’都具有相同的甲和丙的结果,但三个章程的整个顺序发生了变化。 - 由于OOO.appendTo(XXX)的重新定位,XXX应该在此控制之前存在。
.append()和.appendTo()方法执行相同的任务,只有要插入的目标和html内容语法才会出现。 通过http://api.jquery.com/appendTo/
返回结果是唯一的区别,它使appendTo
更方便的方法链接:
$("...").appendTo(target).hide(); //hide new-element, not the whole target