我该如何阅读这个函数?

3
function showTweet(username) {
    $( "<ul/>", {
        "class": "my-user-list",
        html: usertweets[username].join( "<li/>" )
    }).appendTo( $("#tweets") );
}

我发现选择器在对无序列表进行定位,但逗号后面的内容是什么,为什么要用花括号括起来?
我理解了 .append 部分。但是我不明白 "class": "my-user-list" 和 html: usertweets[username].join("<li/>") 是什么意思。请注意,usertweets 是一个数组。
如果能提供任何见解,将不胜感激!

3
全部在文档中:使用jQuery创建带属性的元素 - epascarello
这是jQuery... http://api.jquery.com/jQuery/#jQuery1 - Marc B
它正在检查usertweets对象的username键,并将结果值包装在li标签中(放置在ul中)。 - Andy
3个回答

4
选择器并不是针对一个ul元素 - 它正在创建一个新的ul元素。第二个参数是一个包含要设置在新的ul元素上的属性的对象。然后,将其附加到#tweets元素上,以添加到DOM中。
为了展示区别:
// to create a ul element in memory
$('<ul></ul>'); // or...
$('<ul />');  

// select all ul elements currently in the DOM
$('ul');         

2
它并不是针对 ul 元素进行操作,而是首先创建一个 <ul> 元素,并将 <ul> 的 class 设置为 "my-user-list",然后将其内部的 html 设置为 usertweets[username].join("<li/>"),这应该会创建一些 <li>,最后将新创建的 <ul> 和其中的 <li> 添加到 $("#tweets") 中。您可以从 jQuery#.jQuery() 中了解更多信息。

2
花括号是为 PlainObject,它是一个普通的 JavaScript 对象。从中我能读出以下内容:
请创建一个类名为 my-user-list<ul>,其中包含用户推文的列表,每个推文使用 <li/> 标签分隔,并将其附加到 <ul> 中,最后将该 ul 附加到 id 为 tweets 的元素中。
这是一个示例:

http://jsfiddle.net/xz6a0yqy/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接