javascript - 来自两个 li 元素的逗号分隔列表
问题描述
我需要帮助来推进我的代码。我希望每次用户在两个单词之间写 (,) 时,它们应该分开并在列表中形成两个 li 元素。现在整个代码都可以工作,但我会得到有关如何制作逗号分隔文本的提示。
var names = [];
function convert_to_list()
{
var theName = document.getElementById("enter").value;
if (theName == "" || theName.length == 0)
{
return false; //stop the function since the value is empty.
}
names.push(theName);
document.getElementById("converted_list").children[0].innerHTML += "<li>"+names[names.length-1]+"</li>";
}
<form>
<fieldset>
<textarea id="enter" onkeyup=""></textarea>
<input onclick="convert_to_list()"value="Konvertera" type="button"/>
<div id="converted_list"><ul></ul></div>
</form>
</fieldset>
解决方案
使用split()
函数使用逗号分隔单词,然后create li element
附加到最终的 ul 元素中。
const btnEnter = document.getElementById("btnEnter");
btnEnter.addEventListener("click", convert_to_list);
const ulElements = document.getElementById("converted_list").children[0];
function convert_to_list() {
const theName = document.getElementById("enter").value;
if (theName.length <= 0) {
return false;
}
const list = theName.split(",");
const liElements = [];
for (const value of list) {
const li = document.createElement('li');
li.innerHTML = value.trim();
ulElements.appendChild(li);
}
}
<html>
<head></head>
<body>
<form>
<fieldset>
<textarea id="enter" onkeyup=""></textarea>
<input id="btnEnter" value="Konvertera" type="button"/>
<div id="converted_list"><ul></ul></div>
</fieldset>
</form>
</body>
</html>
推荐阅读
- javascript - 修改 ImageData 时画布看起来被拉伸
- python - 为什么这个程序给我一个 IndexError: list index out of range 错误但只是有时
- javascript - 当我使用 createElement 并设置它的文本时,我在“查看源”上看不到它
- mysql - 如何在cnf文件中更改mysql中的端口
- ffmpeg - 使用 ffmpeg 解码的文件与使用 flac.exe 解码的文件具有不同的 CRC
- javascript - 将类组件转换为功能组件时出错
- regex - 正则表达式:可选的重复字符
- mysql - SQL Server Migration Assistant for MySQL(中文显示错误)
- javascript - 基于值jquery删除对象
- ios - 3D-Touch 主屏幕快速操作在冷启动时不起作用