2013-04-08 47 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