2017-05-31 38 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); 
    } 
}