在我的浏览器中,我有一个文本框和一个提交按钮。使用文本框中的文本,我想将该文本作为列表项添加到无序列表的末尾。无序列表尚不存在,但我希望文本显示在文本框和提交按钮下。我做了这个功能:
代码:
function display(text) { // 'text' from the textbox
$('ul').append('<li>' + text + '</li>');
}
当我使用.display()时,我希望能够将参数中的文本显示为无序列表中的新列表项。
问题:如果尚未存在,那么JQuery是否会创建一个新的'ul',还是应该先创建一个?ul?如果是这样,我是否正确使用JQuery将列表项添加到无序列表?
任何建议都有帮助!谢谢!
答案 0 :(得分: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>');
}
答案 1 :(得分:1)
您的$('ul')
选择器会创建一个包含页面上每个<ul>
元素的jQuery数组。如果没有<ul>
个元素,则数组为空。如果你想要一个<ul>
元素并且没有一个,你需要自己创建它,当然你可以轻松地使用jQuery。
您添加<li>
元素的方式很好,但如果页面上没有<ul>
则不会执行任何操作。
另外,您真的不应该像这样选择标记名。如果页面上有多个<ul>
怎么办?你应该按id或class选择它。