jquery - 如何在选项更改时创建 div?

标签 jquery

我想通过选项 .on("change") 创建类名为 colors 的 div。它运行良好,但每当我更改选项时,就会创建越来越多的 div。但我只有两种颜色,因此每当我更改选项时,我只想看到两个 div:“蓝色”和“红色”。我尝试在附加之前使用 $('.result').remove(); 。但随后就没有附加任何内容。

$(document).ready(function() {
  $("#select").on("change", function() {
    $(".colors").each(function() {
      var color = $(this).attr('title');
      $(".result").append("<div>" + color + "</div>");
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select id="select">
  <option class="colors" title="blue">a</option>
  <option class="colors" title="red">b</option>
  <option title="green">c</option>
</select>

<div class="result"></div>

最佳答案

要执行您需要的操作,您只需在循环并创建新的 div 元素之前对 .result div 调用 empty() 即可。试试这个:

$(document).ready(function() {
  $("#select").on("change", function() {
    $('.result').empty();
    
    $(".colors").each(function() {
      $(".result").append("<div>" + this.title + "</div>");
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select id="select">
  <option class="colors" title="blue">a</option>
  <option class="colors" title="red">b</option>
  <option title="green">c</option>
</select>

<div class="result"></div>

关于jquery - 如何在选项更改时创建 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40547610/

相关文章:

javascript - jQuery:无法使用 .load 缩放 img。它填满了整个页面。我想缩小它以适应

javascript - 使用 .children() 获取元素数据属性

javascript - 使用 jquery 更改类后按钮不响应单击

javascript - 插件内 jquery 数据方法的奇怪行为

javascript - 一键隐藏和显示多个div

Javascript 拖放 : when draggable object has a fixed or absolute position it disappears behind droppable area

php - 将 jQuery Mobile 与 Facebook Like 和 Twitter Tweet 集成

javascript - 从表单中添加和删除元素,第一次单击有效,后续单击无效

asp.net-mvc - 使用 Ajax/jQuery 提交 ASP.NET MVC 3 表单时的客户端验证

javascript - Stripe.js - 收集收件人信息