[英]How do I allow a user to change span textcontent after clicking on the span element?
[英]How do I prevent textContent from overwriting the dynamically created span?
所以我試圖在列表中插入一個元素,但跨度不斷被我提供給 li 的文本內容覆蓋。 這就是代碼應該是這樣的:
<li class="togglable"><span class="plus-sgn">+</span> Add Task</li>
這就是我得到的:
<li class="togglable">Add Task</li>
這是代碼:
const togglable = document.createElement('li');
const span = document.createElement('span');
togglable.className = 'togglable';
span.className = 'plus-sgn';
span.textContent = '+';
togglable.appendChild(span);
togglable.textContent = 'Add Task';
taskList.appendChild(togglable);
要創建文本節點,請使用document.createTextNode :
function add() { const togglable = document.createElement('li'); togglable.className = 'togglable'; const span = document.createElement('span'); span.className = 'plus-sgn'; span.textContent = '+'; togglable.appendChild(span); //append text as text node togglable.appendChild(document.createTextNode('Add Task')); taskList.appendChild(togglable); } add(); add(); add();
<ul id='taskList'> <li>Abc</li> </ul>
也許您可以按如下方式添加它:
const taskList = document.querySelector('ul#taskList'); const togglable = `<li class="togglable"><span class="plus-sgn">+</span> Add Task</li>`; taskList.innerHTML += togglable;
<ul id="taskList"></ul>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.