Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中列出排序文本_Javascript_Html - Fatal编程技术网

在JavaScript中列出排序文本

在JavaScript中列出排序文本,javascript,html,Javascript,Html,我想在我的小脚本中创建一个有序列表,但我不知道如何启动它。你能给我一些建议吗?我认为它比仅仅编写代码更有用。问题是:如何在网站上以有序列表的形式显示它? 以下是我的javascript和HTML: var numnames=0; 变量名称=新数组(); 函数SortNames(){ thename=document.theform.newname.value; 名称[numnames]=名称; names[numnames]=thename.toUpperCase(); numnames++;

我想在我的小脚本中创建一个有序列表,但我不知道如何启动它。你能给我一些建议吗?我认为它比仅仅编写代码更有用。问题是:如何在网站上以有序列表的形式显示它? 以下是我的javascript和HTML:

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我在列表中插入了一个本地元素,您可以在我的响应中看到。