2016-05-23 30 views
0

問題:我無法修改我在函數中創建的HTML元素。修改jQuery中創建的jQuery中的html元素

代碼:

我讀我可以從一個字符串的元素這種方式。

var base_html = $("<div id='base'><div id='chart_container_bars'></div>"+ 
         "<br>"+ 
         "<br>"+ 
         "<div id='chart_container_lines'></div>"+ 
         "<table class='table table-bordered' id='tabla_servicios' style='width:100%; padding:12px'>"+ 
         "</table>"+ 
        "</div>"); 

所以我想我可以使用選擇器來修改這段HTML代碼。

var tabla_servicios = base_html.find($("#tabla_servicios")); 
tabla_servicios.html("<p>HI</p>"); 

然後拿到HTML回字符串:

var html_str = base_html.html(); 

但我一直沒能做到這一點。

期望的結果

var final_html_str = $("<div id='base'><div id='chart_container_bars'></div>"+ 
         "<br>"+ 
         "<br>"+ 
         "<div id='chart_container_lines'></div>"+ 
         "<table class='table table-bordered' id='tabla_servicios' style='width:100%; padding:12px'>"+ 
         "<p>HI</p>"+ 
         "</table>"+ 
        "</div>"); 

問題

有沒有辦法從字符串創建一個HTML元素,之後與選擇修改呢?

+0

嘗試'jQuery.parseHTML()',而不是'$'。 – Harish

+0

而不是選擇id,然後使用查找與選定的元素只是傳遞id直接找到:https://jsfiddle.net/b3Lqj3ka/ – AtheistP3ace

回答

3

在jquery find函數中,您必須將選擇器作爲字符串傳遞。

var base_html = $("<div id='base'><div id='chart_container_bars'></div>"+ 
 
         "<br>"+ 
 
         "<br>"+ 
 
         "<div id='chart_container_lines'></div>"+ 
 
         "<table id='tabla_servicios' class='table table-bordered' id='tabla_servicios' style='width:100%; padding:12px'>"+ 
 
         "</table>"+ 
 
        "</div>"); 
 

 
var tabla_servicios = base_html.find("#tabla_servicios"); 
 
tabla_servicios.html("<p>HI</p>"); 
 

 
var html_str = base_html.html(); 
 

 
console.log(html_str);
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>

+1

我正在編輯我的答案! =) –