javascript - jQuery 将一个元素转换为另一个元素

标签 javascript jquery

我有一个 div 元素,如下所示;

<div class="editableTxt" data-model-attr="myAttr" data-model-id="302">VALUE</div>

我想把它转换成

<input class="editBox" data-model-attr="myAttr" data-model-id="302" value="VALUE" />

是否有通用的方法来做同样的事情?

假设我在回调中并且 $(this) 代表 div 元素..

最佳答案

尝试

$('.editableTxt').each(function () {
    var $input = $('<input/>').val($.trim(this.innerHTML));
    $.each(this.attributes, function (i, attr) {
        $input.attr(attr.name, attr.value);
    });
    $(this).replaceWith($input)
})

演示:Fiddle

关于javascript - jQuery 将一个元素转换为另一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24303957/

相关文章:

javascript - 在nodejs中用双引号切片缓冲区时获取额外的字符

javascript - react 高阶组件不渲染传递的组件

javascript - 使用动态变量

javascript - jQuery 获取高度和宽度

javascript - jquery 的语义选项卡和 Handlebars 问题,选项卡内容未变为事件状态

javascript - react CSSTransition 不动画

javascript - 可以将外部库导入 xsjs 或 xsjslib 文件吗?

javascript - 在 nextjs 的 Layout 组件中使用 getInitialProps

javascript - Opera 中 POST 的 jQuery 语法错误

javascript - 模糊功能,设置最后一个值