除以下事项外,我有以下页面工作。它找不到ID为“ result_set”的元素(div)。但是设置它的“ html”属性确实可以。我不明白WTF ...所有其他元素都工作正常。
我需要.appendChild()到该节点,但会引发“无功能”错误。但是我可以同时设置“ html”。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id='main-form' method="POST">
<input id="cmd-data" type="submit" value="Обновить">
</form>
<br>
<div id="result_set">result goes here</div>
$(document).ready(function() {
$("#main-form").submit(function() {
// $("#loading").show().fadeIn('slow');
// $("#result_set").hide().fadeOut('slow');
var frm = $('#main-form');
var vname = $("#tracking-id").val();
$.ajax({
type: frm.attr('method'),
url: 'dataPage.php',
data: '{"call_method": "method_name"}',
success: function(data) {
data = JSON.parse(data);
data = JSON.parse(data[1]);
str_buf = "";
// var new_table = document.createElement("table");
// $("#result_set").appendChild(new_table);
var hdr_done = false;
data.forEach(function(element) {
// var new_row = document.createElement("tr");
// new_table.appendChild(new_row);
let sub_str_buf = "";
if (!hdr_done) {
for (let val of Object.keys(element)) {
sub_str_buf += "<th>" + val + "</th>";
}
str_buf += "<tr>" + sub_str_buf + "</tr>";
hdr_done = true;
}
sub_str_buf = "";
for (let val of Object.values(element)) {
sub_str_buf += "<td>" + val + "</td>";
}
str_buf += "<tr>" + sub_str_buf + "</tr>";
$("#result_set").slideDown();
});
// Next string works
$("#result_set").html("<table>" + str_buf + "</table>");
// Next string fails with "id() is not a function". ANY DOMElement function here will fail.
console.log($("#result_set").id());
},
12345678_0001
相关分类