2013-05-17 42 views
1

如何在dojo中用div標籤包圍元素?如何在div中包圍元素

<button>Testing</button> 
: 
<div> 
<button>Testing</button> 
</div> 


<div>Testing <span>something</span></div> 
: 
<div> 
<div>Testing <span>something</span></div> 
</div> 

回答

0

它相當簡單

require(["dojo/dom-construct"], function(domConstruct){ 
     var n = domConstruct.create("div", { innerHTML: "Testing <span>something</span>" }); 
    }); 

閱讀所有關於它here

+0

它只是用一些innerHTML創建新的div。它不會取代現有的。而innerHTML for button僅用於測試,標籤名稱(

+0

你需要在這種情況下先抓住innerhtml,然後追加新的標記,所以可以說你有一個現有的div,裏面有一些標記,首先你會將現有的標記複製到變量中,然後替換父項的所有內容隨着新的標記胸圍作爲一個div的innerHTML,它將按照您的要求將其包裝在div內。 – varun

+0

我不明白你的意思是標籤名稱..... ?? – varun

2

終於讓我找到答案

Surrounding

var node = domConstruct.create("div"); 
dojo.addClass(node,"container"); 
var refNode = dom.byId("refNode"); 
var tagName = refNode.tagName.toLowerCase(); 
node.innerHTML="<"+tagName+">"+refNode.innerHTML+"</"+tagName+">"; 
domConstruct.place(node, refNode,"before"); 
domConstruct.destroy(refNode); 
1

如何一布特這樣的:

var refNode = dom.byId("refNode"); 
// make the new div, with the correct class, directly after the node to be wrapped 
var node = domConstruct.create("div", {"class":"container"}, refNode, "after"); 
// move the refNode inside our wrapping node 
domContruct.place(refNode, node); 
0

我不知道它是如何在2013年,但這些天,道場的節點列表,操作功能,可以讓你做到這一點很容易。

考慮:

<b>one</b> 
<b>two</b> 

用途:

require(["dojo/query", "dojo/NodeList-manipulate"], function(query){ 
    query("b").wrap("<div><span></span></div>"); 
}); 

輸出:

<div><span><b>one</b></span></div> 
<div><span><b>two</b></span></div> 

這個例子是從文檔here服用。