在JavaScript中列出排序文本
我想在我的小脚本中创建一个有序列表,但我不知道如何启动它。你能给我一些建议吗?我认为它比仅仅编写代码更有用。问题是:如何在网站上以有序列表的形式显示它? 以下是我的javascript和HTML:在JavaScript中列出排序文本,javascript,html,Javascript,Html,我想在我的小脚本中创建一个有序列表,但我不知道如何启动它。你能给我一些建议吗?我认为它比仅仅编写代码更有用。问题是:如何在网站上以有序列表的形式显示它? 以下是我的javascript和HTML: var numnames=0; 变量名称=新数组(); 函数SortNames(){ thename=document.theform.newname.value; 名称[numnames]=名称; names[numnames]=thename.toUpperCase(); numnames++;
var numnames=0;
变量名称=新数组();
函数SortNames(){
thename=document.theform.newname.value;
名称[numnames]=名称;
names[numnames]=thename.toUpperCase();
numnames++;
name.sort();
document.theform.sorted.value=names.join(“\n”);
}
排序列表
插入文本
正文:
排序文本
文本
检查此项,了解如何通过html构建列表
您应该检查的另一件事是如何使用DOM元素,就像
document.getElementById("main").innerHtml = "<ol><li></li></ol>"
document.getElementById(“main”).innerHtml=“”
看看这个你是说像这样
var numnames=0;
变量名称=新数组();
函数SortNames(){
thename=document.theform.newname.value;
名称[numnames]=名称;
names[numnames]=thename.toUpperCase();
numnames++;
name.sort();
var ol=document.getElementById('out');
ol.innerHTML='';
name.forEach(函数(名称){
var li=document.createElement('li');
li.innerHTML=名称;
l.儿童(李);
});
}
排序列表
插入文本
正文:
排序文本
您可以执行与已执行的操作非常类似的操作,但不必将元素写入textarea
而是将它们写入ol
元素
var numnames=0;
变量名称=新数组();
函数SortNames(){
thename=document.theform.newname.value;
name[numnames]=thename;//注意:此行已过时
names[numnames]=thename.toUpperCase();
numnames++;
name.sort();
var ol=document.getElementById(“列表”);
ol.innerHTML=names.map(函数(n){
返回“”+n+” “
}).加入(“”);
}
排序列表
插入文本
正文:
排序文本
试试这个(我还简化了你的代码):
var name=new Array();//您应该使用var name=[];
函数SortNames(){
name.push(document.theform.newname.value);
name.sort();
var list=document.getElementById('list');
list.innerHTML=''+name.join(' ')+' ';
}
排序列表
插入文本
正文:
排序文本
var name=new Array();
var ol=document.getElementById(“排序”);
函数SortNames(){
var input=document.theform.newname;//获取输入
name=input.value;//存储其值
input.value=”“;//清除它的值
names.push(thename.toUpperCase());//将其以大写形式推入数组
names.sort();//对数组进行排序
ol.innerHTML=“”;
name.forEach(函数(名称){
var li=document.createElement(“li”);
li.textContent=名称;
l.儿童(李);
});
}
排序列表
插入文本
正文:
排序文本
不要每次都重新创建HTML列表,只需将元素直接插入列表即可
var form=document.forms['theform'];
var list=document.getElementById('name-list');
变量名称=新数组();
功能分类名称(按钮){
var name=form['newname'].value.toUpperCase();
if(name.indexOf(name)>-1){
警报('名称已存在!');
返回;
}
//添加新名称并对列表进行排序。
name.push(name);
name.sort();
//创建新的列表项。
var listItem=document.createElement('LI');
appendChild(document.createTextNode(name));
//将新列表项插入列表中。
var newIndex=names.indexOf(name);
list.insertBefore(listItem、list.childNodes[newIndex]);
}
排序列表
使用自动排序插入文本
正文:
排序文本
我不明白你的问题。您输入的文本似乎已排序。您的脚本在显示结果时已对结果排序。你的问题是什么?问题是:如何在网站上按顺序列表显示它你已经这样做了(这是一个网站,你的文本是按顺序排列的)。那么,问题是什么?当你说“有序列表”时,你的意思是
?innerHTML
,至少让它成为ol
,因为OP给我们的唯一线索是“有序列表”#你的地图需要一个join@jamiec你认为我可以在textarea做这个吗?:>我是curious@Olchus当然可以,您只需要手动创建numbersOo。。。使用.map()
。我喜欢+1@Olchus如果它解决了你的问题,请随意标记为正确答案。我建议添加新的li
,然后排序,而不是。innerHTML=''
。这将确保不会再次渲染元素,也不会渲染任何附加的事件removed@YannickHuber谢谢你的建议。我还是觉得自己是个新手stackoverflow@Rajesh我在列表中插入了一个本地元素,您可以在我的响应中看到。