2017-05-31 65 views
-2
<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); 
    } 
} 

我缺少什么?我不应该能够返回行,然后运行一个查找/孩子对他们?!

+3

'行[I]'是不是一个jQuery对象了。用'.each()'循环jQuery对象而不是for循环。 – JJJ

+1

这个例子的递归是什么? – evolutionxbox

回答

2

你只需要修改它有点像下面以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); 
    } 
}