我有一个输入,当用户点击回车键时,会创建一个新的列表项元素,其中包含输入字段中的文本。
我的问题是,过滤所有列表项元素的最有效方法是什么,以确保用户点击回车键时没有双打,如果这甚至是值得的。
HTML 只是一个输入和一个空的无序列表
<input type="text">
<ul></ul>
的Javascript on keyup,检查输入键,如果输入命中,获取值,创建新li,并将值附加到新li元素
$( 'input[type=text]' ).keyup(function(e) {
switch( e.keyCode ){
case 13:
var t = $( 'input[type=text]' ).val();
var c = $( 'ul li' ).length;
$( 'ul' ).append( '<li></li>' );
$( "ul li:nth-child( " + c + " ) ").append( document.createTextNode( t ) );
break;
}
});
在将新的li元素附加到列表之前,我需要检查ul中已存在的所有li元素,以确保具有该值的li尚不存在。
答案 0 :(得分:1)
答案 1 :(得分:0)
使用:last
选择器将文本节点附加到新添加的li
元素。
$( "ul li:last").append(document.createTextNode(t));
<强> Working Demo 强>