问题:我无法修改在函数内部创建的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元素,然后再使用选择器对其进行修改?

最佳答案

在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>

10-05 20:52
查看更多