我正在尝试使用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>"));
});
});
输出:在开发人员工具中逐步进行操作时,它首先从文本输入正确开始,然后清除文本输入,并用原始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/