如何在另一个标签中插入标签?

时间:2016-01-10 16:54:55

标签: javascript

我有类似jquery生成的东西:

<p id="foo1">content</p>

我怎么能使用javascript获得这个?

<pre><p id="foo1">content</p></pre>

4 个答案:

答案 0 :(得分:4)

在普通的Javascript中,您可以创建新标记,将其插入现有内容之前,然后在新标记内移动内容:

var pre = document.createElement("pre");
var content = document.getElementById("foo1")
content.parentNode.insertBefore(pre, content);
pre.appendChild(content);

由于你在问题的文本中提到了jQuery,你也可以使用jQuery&#39; s .wrap()来做同样的事情。

$("#foo1").wrap("<pre>");

答案 1 :(得分:0)

您可以使用HTML DOM appendChild()方法。 用于将节点附加为节点的最后一个子节点。

答案 2 :(得分:0)

使用JavaScript:

&#13;
&#13;
function wrap(elTarget, elWrapper) {
  elTarget.parentNode.insertBefore(elWrapper, elTarget);
  elWrapper.appendChild(elTarget);
}

wrap(document.getElementById("foo1"), document.createElement("pre"))
&#13;
<p id="foo1">content</p>
&#13;
&#13;
&#13;

使用jQuery&#39; s wrap

&#13;
&#13;
$("#foo1").wrap("<pre></pre>");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="foo1">content</p>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

用户.wrap()click

&#13;
&#13;
$(document).ready(function () {
  $("button#submit").click(function() {
    $("p#foo1").wrap("<pre></pre>");
  });
});
&#13;
<script src="http://code.jquery.com/jquery-latest.js"></script>

<p id="foo1">content</p>
<button id="submit">Insert tag</button>
&#13;
&#13;
&#13;