javascript - 将 div 包裹在文本周围

标签 javascript jquery

我想包装一个<input type="text">就在文字周围hello worldSpan不应该被它包围。

<div class="outer">
    "hello world"
    <span class="inner">Inner</span>
</div>

$('.inner').parent().contents().wrap('<input type="text"/>')

这个将输入包裹在文本和跨度周围。我想避免跨度。谁能帮帮我吗。 fiddle

最佳答案

您无法将文本字段包裹在某些内容周围,您需要

var el = $('.inner')[0].previousSibling;

$('<input />').val(el.nodeValue.trim()).insertBefore('.inner');
$(el).remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="outer">
  "hello world"
  <span class="inner">Inner</span>
</div>

关于javascript - 将 div 包裹在文本周围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32879288/

相关文章:

javascript - 检查给定 ID 是否存在于 Javascript 中的嵌套对象中的有效方法

javascript - 如果我有一段在多个 html 文件中通用的 HTML,我可以将它放在自己的 .html 文件中吗?

javascript - select2 多选ajax php

javascript - 窗口间隔 - 检查页面上的元素然后 append 到它

javascript - 根据值删除本地存储数组对象

javascript - javascript装饰器中的 `target`是什么

jquery - 如何使用 jQuery 绑定(bind)附加的 html?

jQuery 验证 : How to post() after form is valid?

jquery - 使用 jQuery 选中和取消选中表 tr 的复选框

javascript - D3 通过刷牙的焦点+上下文不显示散点图