dom操纵

时间:2010-01-05 16:41:18

标签: jquery dom

我使用 jquery 并希望在下面写

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

// dom

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

我想要的是,将模板绑定到任何元素(比如说id = red1),得到的dom如下所示

//下面是新的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**)------------

3 个答案:

答案 0 :(得分: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 :(得分:1)

jQuery没有内置的模板机制,但是有很多JavaScript库可以提供它。 mustache.js是我喜欢的人。 Underscore.js,它是jQuery的一个很好的补充,也有一个简单的模板函数。

答案 2 :(得分:1)

听起来您可以使用wrap函数将模板包装在具有该ID的div周围。