2010-01-05 3 views
0

IAM с помощью JQuery и хотите сделать ниже написанодом манипуляция

//this is a template 
    <div class='main'> 
    <div class='header'>Some Text</div> 
    <div class='data'> 
    // data goes here 
    </div> 
    </div> 

// дом

--------dom here------------- 
<div id='red1' class='red'></div> 
-----more dom (template is here)------------ 

что я хочу, чтобы привязать шаблон к любому элементу (позволяет сказать, что идентификатор = Red1), чтобы получить итоговое значение dom, как указано ниже

// ниже - новый дом

--------dom here------------- 
    <div class='main'> 
    <div class='header'>Some Text</div> 
    <div class='data'> 
// element is wrapped with template 
    <div id='red1' class='red'></div> 
    </div> 
    </div> 
-----more dom (**template is still here**)------------ 

ответ

2

Что-то вроде:

// Capture the wrapper template html 
var wrapper = $('<div class="main"><div class="header">Some Text</div><div class="data"></div></div>'); 

// Then replace the "red1" div with the wrapper and since the replaceWith 
// method returns the replaced element, you can just append it right back to your data div 
$('#red1').replaceWith(wrapper).appendTo(wrapper.find('.data')); 
1

jQuery не имеет встроенного шаблонного механизма, но есть много библиотек JavaScript, которые его предоставляют. mustache.js это один мне нравится. Underscore.js, который является хорошим дополнением к jQuery, также имеет простую функцию шаблона.

1

Похоже, вы можете использовать функцию wrap, чтобы обернуть шаблон вокруг div с этим id.