我在 java 脚本中单击后添加元素(关闭按钮)时遇到了小问题。
代码如下:
var add = document.getElementById("add-button");
add.addEventListener("click", function() {
var ul = document.getElementById("tasks");
var input = document.getElementById("new-task").value;
var li = document.createElement("li");
ul.appendChild(li);
var i = document.createElement("i");
ul.appendChild(i);
li.innerHTML = input + i;
});
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css?family=Gloria+Hallelujah|Josefin+Sans:400,700&subset=latin-ext" rel="stylesheet">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
</head>
<body>
<div class="wrapper">
<h1>Dodaj nowe zadanie do listy</h1>
<div class="to-do-container">
<div class="input-data">
<input id="new-task" type="text">
<button id="add-button" type="button">Dodaj</button>
</div>
<ul id="tasks">
<li>Zadzwonić do...<i class="fas fa-times"></i></li>
<li>Odebrać dzieci z...<i class="fas fa-times"></i></li>
<li>Kupić na obiad...<i class="fas fa-times"></i></li>
<li>Umówić się na...<i class="fas fa-times"></i></li>
<li>Załatwić na mieście...<i class="fas fa-times"></i></li>
<li>Spotkać się z...<i class="fas fa-times"></i></li>
</ul>
</div>
</div>
</body>
</html>
它给了我“HTML 元素对象”。我现在正在使用简单的任务学习 Js,但我认为这里有一些小细节。
提前感谢您的帮助。
最佳答案
当您尝试通过使用 innerHTML
将 Element 对象强制转换为字符串时,您会看到 [object HTMLElement]
。您需要使用 innerText
设置 input
文本值,然后为 i
元素设置 appendChild()
,如你已经在其他地方了。
另请注意,您需要将类添加到 i
,这可以通过使用 classList.add()
来完成。试试这个:
var add = document.getElementById("add-button");
add.addEventListener("click", function() {
var i = document.createElement("i");
i.classList.add('fas', 'fa-times');
var li = document.createElement("li");
var input = document.getElementById("new-task").value;
li.innerText = input;
li.appendChild(i);
var ul = document.getElementById("tasks");
ul.appendChild(li);
});
<link href="https://fonts.googleapis.com/css?family=Gloria+Hallelujah|Josefin+Sans:400,700&subset=latin-ext" rel="stylesheet">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<div class="wrapper">
<h1>Dodaj nowe zadanie do listy</h1>
<div class="to-do-container">
<div class="input-data">
<input id="new-task" type="text">
<button id="add-button" type="button">Dodaj</button>
</div>
<ul id="tasks">
<li>Zadzwonić do...<i class="fas fa-times"></i></li>
<li>Odebrać dzieci z...<i class="fas fa-times"></i></li>
<li>Kupić na obiad...<i class="fas fa-times"></i></li>
<li>Umówić się na...<i class="fas fa-times"></i></li>
<li>Załatwić na mieście...<i class="fas fa-times"></i></li>
<li>Spotkać się z...<i class="fas fa-times"></i></li>
</ul>
</div>
</div>
关于javascript - 如何在java脚本中单击后将带有<i>元素的<li>元素添加到<ul>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52202315/