jQuery的递归找到
问题描述:
<table id="TemplateBindVarsTable" class="table">
<tr>
<td class="control-label">${MeetingName}</td>
<td class="form-control" style="border:0"><input id="${MeetingName}"
type="text"></td>
</tr>
<tr>
<td class="control-label">${MeetingLocation}</td>
<td class="form-control" style="border:0"><input id="${MeetingLocation}"
type="text"></td>
</tr>
</table>
我有以下的jQuery代码,违背了这一点:jQuery的递归找到
function processTemplate() {
var rows = $('#TemplateBindVarsTable').find("tr");
for (var i = 0; i < rows.length; i++) {
// NONE OF THESE WORK
var cells = rows[i].children();
var key = rows[i].find("td.control-label").text();
var val = rows[i].find("td.control-label>input").val();
alert('key: ' + key + ", val: " + val);
}
}
我缺少什么?我不应该能够返回行,然后运行一个查找/孩子对他们?!
答
你只需要修改它有点像下面以DOM对象转换为jQuery对象上,您可以执行jQuery的方法,如.children()
和.find()
:
function processTemplate() {
var rows = $('#TemplateBindVarsTable').find("tr");
for (var i = 0; i < rows.length; i++) {
// NONE OF THESE WORK
var cells = $(rows[i]).children();
var key = $(rows[i]).find("td.control-label").text();
var val = $(rows[i]).find("td.control-label>input").val();
alert('key: ' + key + ", val: " + val);
}
}
'行[I]'是不是一个jQuery对象了。用'.each()'循环jQuery对象而不是for循环。 – JJJ
这个例子的递归是什么? – evolutionxbox