我下面的代码确实有效。它使.ajax调用我的php文件,根据需要检索数据数组。
但是,当我开始循环遍历数组时,我试图在现有表中动态创建DOM元素。在这些函数调用时,我得到错误“未定义的函数”,请注意注释掉警报DO工作,所以我知道正在返回数据,并且正在输入循环IS。我只是想不通为什么我创建dom元素和属性的语法不起作用。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"> </script>
<script type="text/javascript">
$.ajaxSetup({
cache: false
});
$(document).ready(
function(){
$.ajax({
url: "PHPLibrary/selectMemberResults.php",
type: "POST",
dataType: "json",
success: function (data) {
//alert("1 Total number of rows of data >" + data.length + "<");
for (var j = 0; j < data[i].length; j++) {
//alert("2 Total number of rows of data >" + data[i].length + "<");
$memName = data[i][0];
$busName = data[i][1];
//alert($memName);
//alert($busName);
(function ($) {
$('tr').attr({width:"100%",id:"row"}).appendto('#memberResults');
$('td').text($memName).appendto("row");
$('tr').attr({width:"100%",id:"row"}).appendto('#memberResults');
$('td').text($busName).appendto("row");
}(jQuery));
}
});
});
</script>
最后一点,我已经完成并检查所有花括号和括号是否具有匹配的对,顺序正确,所有括号都以分号(;)结尾。
非常感谢任何想法或帮助。
感谢!!!!
答案 0 :(得分:2)
如果您尝试创建元素,则语法不正确;目前你正在选择元素。例如这段代码:
$('tr').attr({ width: "100%", id: "row" }).appendTo('#memberResults');
在页面中选择所有 tr
元素并将其附加到#memberResults
。相反,您需要使用以下语法:
$('<tr />').attr({ width: "100%", id: "row"}).appendTo('#memberResults');
请注意选择器中类似HTML的尖括号。您还可以使用jQuery对象的第二个参数将所需的属性应用于新元素,因此您的最终代码将变为:
$('<tr />', { width: "100%", id: "row" }).appendTo('#memberResults');
最后,它应该是appendTo()
而不是appendto()
,并且还要注意不要将id
属性与附加元素重复。我建议改用它们。