2017-08-03 31 views
0

我有以下代碼:裹元素一個新的div

var searchInput = '<md-input-container md-theme-watch="true" flex><label for="sampletext1">Champ texte</label><input name="sampletext1" type="text" class="ng-tree-search"></md-input-container>'; 
element.before($compile(searchInput)(scope)) 
    .prev() 
    .on('keyup', function (ev) { 
     if (to) { 
      clearTimeout(to); 
     } 
     to = setTimeout(function() { 
      tree.jstree(true).search(ev.target.value); 
     }, 250); 
    }); 

我想包裝element到一個div:<div class="nrh-tree-search-container"></div>和我創建使用before到同一div的第一個孩子,因此在其他元件看起來就像這樣:

<div class="nrh-tree-search-container"> 
    <md-input-container md-theme-watch="true" flex><label for="sampletext1">Champ texte</label><input name="sampletext1" type="text" class="ng-tree-search"></md-input-container> 
<!-- element should be added here --> 
</div> 

我試過如下:

var searchInput = '<md-input-container md-theme-watch="true" flex><label for="sampletext1">Champ texte</label><input name="sampletext1" type="text" class="ng-tree-search"></md-input-container>'; 
var searchForm = element.before($compile(searchInput)(scope)) 
    .prev() 
    .on('keyup', function (ev) { 
     if (to) { 
      clearTimeout(to); 
     } 
     to = setTimeout(function() { 
      tree.jstree(true).search(ev.target.value); 
     }, 250); 
    }); 
searchForm.wrap($compile('<div class="nrh-tree-search-container"></div>')(scope)); 

但這不起作用我在'<div class="nrh-tree-search-container"></div>'之外得到element

我該如何解決這個問題?

編輯:

演示http://jsfiddle.net/vwmHF/121/

回答

1

你應該嘗試這樣的:

檢查.wrapAll()方法:

$('.accordionTrigger p').wrapAll('<div class="moreInfo"></div>'); 

的wrapAll()方法將包裝所有的元素匹配到另一個元素(與包裝th的.wrap()方法相比Ë匹配的獨立元素)

DEMO

+0

對不起,但對我來說這沒有工作:http://jsfiddle.net/vwmHF/121/ –

+0

在這裏看到:http://jsbin.com/yetozapefi /編輯?HTML,輸出 –