我正在尝试使用jQuery replaceWith()div元素替换文本输入。想法是使这种情况发生在与相应文本输入相同的DOM位置。页面如下:
HTML(仅适用部分):

<input type='text' placeholder='Test...' name='txtTest' id='txtTest'>
JavaScript:
$(document).ready(function() {
  var inText = $("input[type='text']");

  inText.each( function(index) {
    var item = inText[index];
    item.replaceWith(("<div class='in-text'></div>"));
  });
});
输出:
javascript - jQuery replaceWith填充原始HTML而不是替换为新标签:如何解决此问题?-LMLPHP
在开发人员工具中逐步进行操作时,它首先从文本输入正确开始,然后清除文本输入,并用原始HTML文本而不是新节点替换。
我觉得自己正在丢失或误解某些东西,但是我找不到确切的含义。

最佳答案

您正在使用.replaceWith()的javascript版本,则需要在项目中添加$()

$(item).replaceWith(("<div class='in-text'></div>"));
试试这个:
$(document).ready(function () {
  var inText = $("input[type='text']");

  inText.each(function (index) {
     var item = inText[index];
     $(item).replaceWith(("<div class='in-text'></div>"));
  });

});

关于javascript - jQuery replaceWith填充原始HTML而不是替换为新标签:如何解决此问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62546155/

10-09 15:39