2013-05-27 59 views
3

我正在建立一个html页面,我需要从一个div添加html代码到另一个dinamically。追加部分html代码jquery

这是我的第一个div:

<div id="placeHolder" style="display:none"> 
    <div id="1">....</div> 
    <div id="2">....</div> 
    <div id="3">....</div>  
</div> 

而且我想用id 1,2和3到另一个DIV(#mainDiv),但不能一次全部添加的div。

有没有办法用jQuery添加部分html代码?我知道那里有一个函数调用的追加,但我不知道这是否是适合这类OCASION的..

感谢

+0

到目前为止你做了什么?一些事件/代码示例会有帮助 – Alex

+0

我只知道如果我做$('#mainDiv')。append('#placeHolder')。html());它会抓住所有的div并把它们放在mainDiv里面.. – Akash

回答

3

我通过搜索找到计算器的回答这个问题。我想你正在寻找像解释here appendTo函数。所以,是的,你说得对,appendTo是一个很好的解决方案,我想:-)

+0

完美!谢谢;) – Akash

0

你可以试试这个:

<div id="placeHolder" style="display:none"> 
    <div id="1" onclick="change(this)">....</div> 
    <div id="2" onclick="change(this)">....</div> 
    <div id="3" onclick="change(this)">....</div>  
</div> 

的Javascript:

function change(element) { 
    if ($(element).attr('id') === 1) { 
     $('#mainDiv').append($(element).html()); 
    } ... 
    // AND THE SAME FOR EACH DIV. IF YOU DON'T HAVE TOO MUCH, THIS CAN BE A WAY 
} 

与您的div或onclick无论您想用什么事件来触发此事件,您都可以使用此功能来更改您的mainDiv的内容,具体取决于所选的元素,由id属性标识。

如果你正在设置你的divs数据而没有任何事件投到你的div中,你只需要添加我发布到你想使用它的函数。就像这里:

$(function() { 
    //SOME STUFF 
    $('#mainDiv').append($('#1').html()); //OR 
    $('#mainDiv').append($('#2').html()); //OR 
    $('#mainDiv').append($('#3').html()); 
}); 
1

例如说要他们从第二个div移动到第一:

<div id="newPlace"> 
</div> 

<div id="placeHolder"> 
    <div id="1">....</div> 
    <div id="2">....</div> 
    <div id="3">....</div> 
</div> 

然后你可以选择使用jQuery的元素,将它们复制到其他地方有追加,并从那里原来的地方将其删除:

$("#placeHolder div").appendTo("#newPlace").remove(); 
0

假设这是你想要的

使用的append()

试试这个

$(function(){ 
    $('#mainDiv').append($('#1')); //to append div with id 1 
    $('#mainDiv').append($('#2')); 

}); 

fiddle here

+0

为什么append()。html()?什么是html()有用的vor? – Alex

+0

oppss !!!谢谢.. :) ..复制粘贴错误 – bipen

0

不知道这是你通过一次添加HTML鳕鱼曾经是什么意思...

比方说你有一个新的div添加html代码:

<div id="placeHolder" style="display:none"> 
    <div id="1">....</div> 
    <div id="2">....</div> 
    <div id="3">....</div>  
</div> 

<div class="result"></div> 

你可以这样做:

$(document).ready(function(){ 
    $('#placeHolder').children().each(function(){ 
    $('.result').append(this); 
    // do some other things 
    }); 
}); 

使用children()提取目标div中的所有子div,并通过它们读取each()。

http://jsfiddle.net/nvQG8/1/

0

只要将其存储在一个字符串var和你的循环后其追加。