簡體   English   中英

jQuery .html()刪除html元素

[英]jQuery .html() removing html elements

我在過濾表后將變量設置為<tbody>的全部內容,我希望能夠返回到<tbody>的原始全部內容。 當前,當我嘗試更改回原始內容時,jQuery正在剝離<script> <tr><td>元素。

JavScript

var contents= $("tbody").html();
//load of other functions
$("tbody").html(contents);

內容看起來像這樣:

<script>alert("Hello");</script>
<tr>
    <td>A value</td>
    <td>Another value</td>
</tr>

當我嘗試還原到此內容時,我得到:

 A value
 Another value

如下面的jsFiddle所示,您正在使用的技術應該可以工作:

http://jsfiddle.net/GbSrV/

運行小提琴時,請查看JavaScript控制台。 您會注意到html()返回的值是預期的。

要調試代碼,請使用瀏覽器的開發工具檢查實際的DOM。 在例行程序之前,期間和之后,肢體是什么樣的?

另外,您使用什么確切的代碼檢查恢復的肢體內容? 我假設您使用以下方法在調試器(或等效工具)中戳恢復的值:

$("tbody").html()

如果不是這種情況,請告訴我們。

您應該能夠使原始代碼正常工作。 但是,如果您願意,可以嘗試以下實現方式:

var contents$ = $("tbody").children().clone();
// load of other functions
$("tbody").empty().append( contents$ );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM