1

在我的浏览器中,我有一个文本框和一个提交按钮。使用文本框中的文本,我想将该文本作为列表项添加到无序列表的末尾。无序列表尚不存在,但我希望文本出现在文本框和提交按钮下。我做了这个功能:

代码:

 function display(text) {                       // 'text' from the textbox
      $('ul').append('<li>' + text + '</li>');
 }

当我使用 .display() 时,我希望能够将参数中的文本显示为无序列表中的新列表项。

问题:如果一个尚不存在,JQuery 是否会创建一个新的 'ul' 或者我应该先创建一个?如果是这样,我是否正确使用 JQuery 将列表项添加到无序列表?

任何建议都有帮助!谢谢!

4

2 回答 2

2

首先,您必须使用$('<ul>')创建一个新的<ul>,同时$('ul')选择已经存在的元素。

有关详细信息,请参阅jQuery( html [, ownerDocument ] )

然后你可以像这样重写你的代码:

var ul = $('<ul>');  // save the new created element.
ul.appendTo('body')  // add it into <body> or other place you want to insert
function display(text) {                       // 'text' from the textbox
      ul.append('<li>' + text + '</li>');
 }
于 2013-03-21T07:14:18.817 回答
1

您的选择器会创建一个包含页面上每个元素$('ul')的 jQuery 数组。<ul>如果没有<ul>元素,则数组为空。如果您想要一个<ul>元素但没有,您需要自己创建它,当然您可以使用 jQuery 轻松完成。

您附加<li>元素的方式很好,但如果页面上没有 a ,它不会做任何事情<ul>

此外,您真的不应该像这样通过标记名进行选择。如果页面上有多个<ul>怎么办?您应该按 id 或 class 选择它。

于 2013-03-21T07:15:59.680 回答