javascript - 编辑列表中的相应元素

标签 javascript jquery html css append

我正在制作 2 个列表。男孩和女孩名单。该按钮为每个创建新元素。当我单击例如 boy1 元素时,我想要。编辑 girl1 元素。并将颜色更改为黑色。当我点击 boy 2 编辑 girl2 等等。 这是我的 HTML

<div class="mainDiv">
<input type="button" value="Add new" id="clickme"onclick="addElements()">
  <ul id="boys">
      <li id="boy1">Boy1</li>
    </ul>

    <ul id="girls">
      <li id="girl1">Girl 1</li>
  </ul>
</div>

CSS

#boys {
  color:red;
}
#girls {
  color:blue;
}
li {
  cursor:pointer;
}

和 JavaScript

 var i = 1;
    $("#clickme").click(function() {
      i++
        $("#boys").append("<li id='boy" + i+"'>Boy"+ i +"</li>");
            $("#girls").append("<li id='girl" + i+"'>Girl"+ i +"</li>")
  });

结果的例子应该是这样的

enter image description here

最佳答案

您需要在父 div 上委托(delegate)事件:

$(function () {
  var i = 1;
  $("#clickme").click(function() {
    i++
    $("#boys").append("<li id='boy" + i+"'>Boy"+ i +"</li>");
    $("#girls").append("<li id='girl" + i+"'>Girl"+ i +"</li>")
  });
  
  // attach event handler for all li elements: also for
  // the one created dynamically
  $('div.mainDiv').on('click', 'li', function(e){
    if (this.id.indexOf('boy') != -1) {
      $('#girl' + this.id.substr(3)).css("color", "black");
    } else {
      $('#boy' + this.id.substr(4)).css("color", "black");
    }
  });
});
#boys {
  color:red;
}
#girls {
  color:blue;
}
li {
  cursor:pointer;
}
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>

<div class="mainDiv">
    <input type="button" value="Add new" id="clickme">
    <ul id="boys">
        <li id="boy1">Boy1</li>
    </ul>

    <ul id="girls">
        <li id="girl1">Girl1</li>
    </ul>
</div>

关于javascript - 编辑列表中的相应元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38925925/

相关文章:

javascript - 重新切换/重新添加 jquery 中变量的类

javascript - 如何在居中的 div 中获取光标位置?

javascript - 按类名从表中删除行

javascript - 如何使用 ExtJs 将 Form 放入 TabPanel 中?

Javascript/iframe/嵌入/对象问题

javascript - 如何使用 javascript 从 jQuery load() 操作 html

javascript - 将应用程序浏览器中的 instagram 转义到 safari

javascript - Jquery 的 $.getJSON 的 vanilla JS 版本是什么

html - 如何以响应方式在 div 内的中间垂直对齐可点击图像(<a></a> 之间)?

jquery - 修改属性值