2016-03-09 113 views
4

HTML字符串我有一個HTML字符串,我想另一個HTML字符串附加到這個在一些任意位置。追加HTML到jQuery中

例子:

var htmlString = '<div id="insert"> <p> Hello </p> </div>' 

var appendString = '<p> Goodbye </p>' 

$(appendString).appendTo($(htmlString).find('#insert')) 

顯然不行,因爲它不能直接插入串不過,我不想htmlString轉換成一個jQuery對象,因爲它打亂了的HTML文檔的結構我需要腳本標籤保留在他們已經插入的位置。

希望這是不夠清楚。

編輯:

我的歉意,我想我解釋我的問題很差。

我有一個HTML字符串,它包括一個表,我想一個新行追加到表。我的問題是我有一些<script>標籤,我需要留在他們的位置。當我的字符串轉換成$(串),我則無法將其返回到其原來的形式:

var htmlString = $('body').html(); 
var $htmlString = $(x); 
console.log($htmlString.html()); 

這是我嘗試在做此匯合頁面,我已經訪問僅限於資源;我能做的大部分事情就是修改已經存在的內容。

的HTML字符串來自於合流另一頁的AJAX請求,我需要的腳本來保持在同一個地方,讓我等宏將正常運行。

我已經包括了我的問題的JS斌例子來說明希望我的問題清楚。

https://jsbin.com/ruwawuzica/edit?html,js,output

回答

4

你可以這樣說:

var htmlString = '<div id="insert"> <p> Hello </p> </div>'; 
 

 
var appendString = '<p> Goodbye </p>'; 
 
var added = ($(htmlString).append($(appendString))); 
 
$(added).appendTo('div');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div></div>

由於$(htmlString)element<div id="insert"></div>包裹在jquery

2

嗨@MyLittleDax我想你可以做這個:

var htmlString = "<div id='insert'> <p> Hello </p> </div>"; 
var appendString = "<p> Goodbye </p>"; 
//your container where you put the html 
var container = $('#container'); 
container.empty(); 
container.append(htmlString); 
var insert = $('#insert'); 
insert.append(appendString); 

好運!!!