1

我是 JQuery 的新手。我写了一小段代码(小提琴)。我想知道是否有人可以对我写的语句的执行顺序有所了解。

的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 的输出,但如您所见,输出是 I Love JQuery UrlMore。为什么按这个顺序输出?请帮忙

4

4 回答 4

2

appendTo将元素插入到目标的末尾。如果要将元素插入到目标的开头,请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>结尾插入,产生您预期的 string Url I Love JQuery More

演示

在你的小提琴中,还有这条线$('span'.text());是错误的。要获取跨度的文本,请$('span').text()改用。

于 2012-08-21T18:52:03.480 回答
1

您正在附加到正文,这会将其添加到末尾。Append 意味着,默认情况下,它将添加到文本的末尾。因此,它分为三块。

我喜欢 JQuery --append-- URL --append-- 更多

于 2012-08-21T18:52:39.853 回答
0

加载文档后,将执行 $(function(){}) 部分。您尝试将“Url”和“More”附加到文档正文的末尾,这就是为什么在您的初始 HTML 文档之后显示“UrlMore”的原因。

于 2012-08-21T18:55:56.927 回答
0

如前所述, appendTo 在末尾插入。
我个人更喜欢这样工作:

$('#mysample').prepend($('<a href="jquery">URL</a>')).append($('<span>More</span>'));

我首先选择我的包装器,然后告诉我要附加到它的内容。这允许您像我在示例中所做的那样链接您的操作。此外,无需在单独的操作中添加属性,您可以像我一样在构建时执行此操作。

小提琴:http: //jsfiddle.net/dSL6S/11/

于 2012-08-21T19:04:41.877 回答