2013-04-08 119 views

回答

0

JQuery有Wrap方法,您可以使用它来将整个div/span引入表单。

$('.inner').wrap('<form class="newform" action="..." method="..." />'); 

这里实测值:http://api.jquery.com/wrap/

考虑以下HTML:

<div class="container"> 
    <div class="inner">Hello</div> 
    <div class="inner">Goodbye</div> 
</div> 

使用.wrap(),我们可以插入围绕内元件,像这样的HTML结构:

$('.inner').wrap('<div class="new" />'); 

新元素即时创建并添加到DOM。其结果是一个新的每一个匹配元素缠:

<div class="container"> 
    <div class="new"> 
    <div class="inner">Hello</div> 
    </div> 
    <div class="new"> 
    <div class="inner">Goodbye</div> 
    </div> 
</div> 

此方法的第二个版本允许我们,而不是指定一个回调函数。这个回调函数将为每个匹配元素调用一次;它应该返回一个DOM元素,jQuery对象或HTML代码片段来包装相应的元素。例如:

$('.inner').wrap(function() { 
    return '<div class="' + $(this).text() + '" />'; 
}); 

这将导致每一个具有对应于它环绕文字类:

<div class="container"> 
    <div class="Hello"> 
    <div class="inner">Hello</div> 
    </div> 
    <div class="Goodbye"> 
    <div class="inner">Goodbye</div> 
    </div> 
</div> 

例子: 举例:环绕式的所有段落的一个新的div。

<!DOCTYPE html> 
<html> 
<head> 
    <style> 

    div { border: 2px solid blue; } 
    p { background:yellow; margin:4px; } 
    </style> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
</head> 
<body> 
    <p>Hello</p> 
    <p>cruel</p> 
    <p>World</p> 
<script>$("p").wrap("<div></div>");</script> 

</body> 
</html> 
+1

谢谢ShaunOReilly,这非常有帮助! – JDL 2013-04-09 21:36:19

+0

听起来像你仍然需要更多的信息? – ShaunOReilly 2013-04-10 00:48:48