从div获取完整的html(包括textarea内容)

时间:2013-07-02 13:40:39

标签: javascript jquery

我有一个div'someDiv'。在那个div我有一张桌子,在桌子的单元格中,我有textareas。

我希望当单击某个按钮“mybutton”时,完整的html(可能因为用户在单元格中放置了一些数据而改变了),将被放入隐藏的字段中。

所有这一切 - 使用Jquery。

当然,我试过了$('#someDiv').html(),但它给了我原始的html而不是用户放的内容。

编辑:这是代码: http://jsfiddle.net/RCQmj/

<div id="interviewSummarySkeleton">
    <table>
        <tr>
            <td>
                <textarea class="title" tabindex="1">title 1:</textarea>
            </td>
            <td>
                <textarea class="content" tabindex="8"></textarea>
            </td>
        </tr>
        <tr>
            <td>
                <textarea class="title" tabindex="2">title 2:</textarea>
            </td>
            <td>
                <textarea class="content" tabindex="9"></textarea>
            </td>
        </tr>
    </table>
</div>
<div id="interviewHtmlHere">PUT HERE THE HTML FROM PREV DIV AFTER USER CHANGED IT</div>

3 个答案:

答案 0 :(得分:3)

当你点击按钮时 - 你必须在获得.html()

之前将所有textarea的文本设置为它的值。
$('button').click(function(){ 
    $('#interviewSummarySkeleton textarea').text(function(){
       return this.value; 
    });    
    $('#interviewHtmlHere').text($('#interviewSummarySkeleton').html());
});

FIDDLE

答案 1 :(得分:2)

您可以将每个textarea的innerHTML设置为html()调用之前的值:

http://jsfiddle.net/ZuXwQ/1/

$('button').click(function(){
    $('body').find("textarea").each( function() {
        this.innerHTML = this.value;
    }); 
    console.log($('body').html());
});

这里适用于你的小提琴:http://jsfiddle.net/RCQmj/1/
同样,如果您希望将其添加为文本:http://jsfiddle.net/RCQmj/2/

在任何一种情况下,我都假设interviewHtmlHere隐藏在您的实际情境中?

答案 2 :(得分:0)

.html()方法将使用jQuery获取任何元素的完整HTML代码。