javascript - 用另一个元素包装一个元素,保留对包装器的引用?

标签 javascript jquery

jQuery wrap() 方法不使用您创建的元素进行包装,而是使用一个重复的元素:

var $orig = $('p'); // some existing element
var $wrap = $('<div>').css({border:'1px solid red'});
$orig.wrap($wrap);
$wrap.append('<p>SMOKE YOU</p>'); // does not appear after the original element

如果你不相信,你可以在这里看到上面的实时版本:http://jsfiddle.net/QRmY6/

如何最好地创建重要的动态内容以环绕现有节点同时保留对最终环绕内容的包装器的引用

最佳答案

我想出的最佳替代方案是:

// Technique 1 - swap it out and then embed it via append
var $wrap = $('<div>').css({border:'1px solid red'});
$orig.replaceWith($wrap);
$wrap.append($orig);

// Technique 2 - create it inline and then modify it
var $wrap = $orig.wrap('<div>').parent().css({border:'1px solid red'});

关于javascript - 用另一个元素包装一个元素,保留对包装器的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5707328/

相关文章:

jquery - HTML + CSS - 2 个可调整大小的 DIV

jquery - 使用 jQuery 一直向下滚动

java - 如何在 Java 中为 javascript 小部件记录印象(和数据)?

javascript - 如何在使用 javascript 验证一键后禁用按钮?

javascript - 如何在选择选项上保留一次更改的数据值?

javascript - 通过 Javascript 或 jQuery 添加类 if 段落阿拉伯语

jquery - Dropzone.js - 如何在上传到文件夹之前更改文件名

jquery - 关于填充的简单CSS问题

javascript - jQuery-JSONP 插件放置在目录中时失败

javascript - jquery 驼峰式实现