为了账号安全,请及时绑定邮箱和手机立即绑定

使用 javascript 将新 li 添加到多个 ul 之一

使用 javascript 将新 li 添加到多个 ul 之一

子衿沉夜 2023-09-18 15:51:25
我正在尝试用 javascript 制作一个板。li在这样做时,我在添加新内容时遇到了麻烦ul。会有多个ul,用户可以li通过ul单击“add_card”按钮添加。我确实尝试过,但它仅添加到第一个ul.这是我尝试过的。超文本标记语言<main><div id="myTitle" class="bigTitle">  <input type="text" id="myInput" placeholder="TItle...">  <span onclick="newElement()" class="addBtn">Add</span></div><div id="myBoard">  <div id="myUL-con">    <h3 contenteditable="true">Things to do</h3>    <span class="close close_list"></span>    <ul id="myUL" runat="server">      <li id="node" draggable="true" ondragstart="drag(event)">        <h4 id="sm_title" contenteditable="true">Do the meditation</h4>        <span contenteditable="true">- before going to sleep</span>      </li>              </ul>    <span id="add_card" onclick="addCard()" type="button"></span>  </div>      </div>CSS/* When clicked on, add a background color and strikeout text */ul li.checked {  background: rgba(106, 140, 168, 0.82);  color: #f4f5f7;  text-decoration: line-through}/* Add a "checked" mark when clicked on */ul li.checked::before {  content: '';  position: absolute;  border: solid #f4f5f7;  border-width: 0 2px 2px 0;  top: 10px;  left: 16px;  transform: rotate(45deg);  height: 15px;  width: 7px}另外,请让我知道我应该在哪里编写代码,以便使所有添加的li功能都具有与现有功能类似的功能,li因为应该起作用的功能也不起作用。
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

您的代码的行为方式是因为您将每个新的 li 元素附加到代表第一张卡的“myUL”。


你应该做的是给每个新元素一个唯一的 id。


我这样做的方式是在添加新元素时:


      let ulIdx = 1;

      ulIdx++;

      let myUL_id = "myUL"+ulIdx.toString();

      myUl.setAttribute("id", myUL_id);


newUl.appendChild(add_card);

add_card.id = "add_card"+ulIdx.toString();

add_card.innerText = "Add li element";

add_card.setAttribute("onclick", "addCard(this)");

然后在函数 addCard(el){} 中,包含以下行;


  var add_LI_element = el.getAttribute("id");

  var elIndex = add_LI_element.charAt(add_LI_element.length -1);

  var ul = document.getElementById("myUL"+elIndex);


查看完整回答
反对 回复 2023-09-18
  • 1 回答
  • 0 关注
  • 57 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信