我是JQuery的新手。我写了一小段代码(fiddle)。我想知道是否有人可以对我所写的陈述的执行顺序有所了解。
HTML:
<span>I</span>
<span>Love</span>
<span>JQuery</span>
JavaScript:
$(function() {
$('<a>Url</a>').attr('href', 'http://www.jquery.com').appendTo('body');
$('<span>More</span>').appendTo('body');
$('span'.text());
});
我期待Url I Love JQuery More的输出,但正如你所看到的,输出是我喜欢JQuery UrlMore。为什么输出按顺序排列?请帮忙
答案 0 :(得分:2)
appendTo
会将元素插入目标的 end 。如果您要将元素插入目标的 开头 ,请改用prependTo
:
$(function() {
$('<a>Url</a>').attr('href','http://www.jquery.com').prependTo('body');
$('<span>More</span>').appendTo('body');
});
这样,<a>Url</a>
会在body
的开头插入,<span>More</span>
会在最后插入,会产生您期望的字符串Url I Love JQuery More
。
在你的小提琴中,还有这一行$('span'.text());
这是错误的。要获取范围的文本,请改用$('span').text()
。
答案 1 :(得分:1)
你附加到身体,它将它添加到最后。追加意味着,默认情况下,它会将其添加到文本的末尾。因此,它有三个块。
我喜欢JQuery --append-- URL --append--更多
答案 2 :(得分:0)
加载文档后,然后执行$(function(){})部分。您尝试将“Url”和“More”附加到文档正文的末尾,这就是为什么在您的初始HTML文档之后显示“UrlMore”的原因。
答案 3 :(得分:0)
如前所述,appendTo在最后插入 我个人更喜欢像这样工作:
$('#mysample').prepend($('<a href="jquery">URL</a>')).append($('<span>More</span>'));
我首先选择我的包装器,然后告诉我想要附加到它上面。这允许您像我在示例中一样链接您的操作。此外,不需要在单独的操作中添加属性,您可以像我一样在构建时执行此操作。
小提琴: http://jsfiddle.net/dSL6S/11/