javascript - 如何用另一个 Div 替换一个 Div 但只替换一次

标签 javascript html ajax

我正在尝试使用下面的代码将一个 div 替换为另一个 div onclick。它适用于一个实例。但是,问题是当类出现不止一次时,我就是这种情况(多个实例),它显然会更改所有实例,因为它们具有相同的类名。 有没有办法让它只改变点击的实例?谢谢

HTML

<div id="test"></div>

JavaScript(动态创建 HTML)

var html =
 '<form action="test.php" method="get" class="myForm">' +
   '<input type="hidden" name="mID" value="' + this.id + '"/>' +
   '<input type="image" class="send" src="this.image" name ="send" alt="submit"/>' +
 '</form>';

$('div#test').append(html);


$("#test").on('click', '.send', function(e) {
e.preventDefault();

   var $form = $(this).closest('form');

   $.get($form.attr("action"), 
   $form.find(":input").serializeArray(), 
      function(data) {

  $('.myForm').replaceWith('<div class="myForm2"><img src="Icons/PNG/tick 2.png" alt="submit"/></div></div>');

});
});

 $("#test").on('submit', '.myForm', function(e) {
  return false;
});

解决方案;

代替;

  $('.myForm').replaceWith('<div class="myForm2"><img src="Icons/PNG/tick 2.png" alt="submit"/></div></div>');

正确的方法;

  $form.replaceWith('<div class="myForm2"><img src="Icons/PNG/tick 2.png" alt="submit"/></div></div>');

最佳答案

您已经使用 $form = $(this).closest('form'); 完成了大部分工作,但由于某种原因,您开始选择所有表单,而不是使用 $('.myForm'), 所以

替换

$('.myForm').replaceWith(...

$form.replaceWith(...

关于javascript - 如何用另一个 Div 替换一个 Div 但只替换一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36683650/

相关文章:

javascript - 使用 javascript 在二维数组中查找元素的最有效方法

javascript - 我的 JavaScript 验证表单无法识别填写的输入

javascript - 按名称查找通过 POST 打开的子窗口

javascript - 花式盒子 - "The requested content cannot be loaded."

javascript - 如何向 Facebook 用户显示登录注销?

javascript - 使用 x-amz-tagging 请求 header 指定标签

javascript - 停止 javascript 直到 jquery 触发器完成

javascript - MVC5 : Posting JSON via Ajax not correctly passing data to Controller?

javascript - javascript setInterval 的内存泄漏

html - 在 HTML 中换行文本后的空白