THX*_*138 5 jquery html-manipulation
我即时创建HTML代码段:
$('<span/>').addClass(spanClass)
Run Code Online (Sandbox Code Playgroud)
是否有一种jQuery方法将此代码包装进去<div>?
在语义上我想做:
$('<span/>').addClass(spanClass).wrap($('<div/>').addClass(divClass))
Run Code Online (Sandbox Code Playgroud)
这不起作用.所以我只想要遵循jQuery-idiomatic版本:
function wrap(what, with) { return $(with).append(what); }
Run Code Online (Sandbox Code Playgroud)
use*_*716 11
请记住,你的jQuery对象仍引用新的<span>,所以如果你想有一个链接的方法插入,则<div>不会被插入.
要克服这个问题,您需要先遍历新的父级<div>.
// Traverse up to the new parent in order to append the <div> and <span>
$('<span/>').addClass(spanClass).wrap($('<div/>').addClass(divClass))
.parent().appendTo('body');
Run Code Online (Sandbox Code Playgroud)
你也可以这样写:
$('<span/>').addClass(spanClass).wrap('<div/>')
.parent().addClass(divClass).appendTo('body');
Run Code Online (Sandbox Code Playgroud)