2015-06-19 37 views
-2

在我的表第1列有一個標籤與href的和第三列有一些文本。所以,我想將所有的href保存到一個數組中,在這些數組中第三列匹配一些字符串並將其用於以後的目的。我曾嘗試過下面的代碼,對我來說似乎沒有任何問題,有人能幫助我。調用函數之後,我得到錯誤,說undefined

function findimagelinks(){ 
 
    var rows = jQuery(".sortable tr.even").length + jQuery(".sortable tr.odd").length; 
 
    var imglinks = []; 
 
    
 
    for (i=0; i<rows; i++){ 
 
     var conditionvalue =jQuery(".sortable tr:eq(i+1) td:eq(3)").text(); 
 
     if(conditionvalue == "some string"){ 
 
      imglinks[i] = jQuery(".sortable tr:eq(i+1) td:eq(0) a").attr('href'); 
 
     } 
 
    } 
 
    console.log(imglinks); 
 
} 
 

 
findimagelinks();

回答

0

你的選擇是錯誤的。正確地在連接字符串這樣

var conditionvalue = jQuery(".sortable tr:eq(" + (i + 1) + ") td:eq(3)").text(); 

那麼你的代碼將是什麼樣子,

for (i = 0; i < rows; i++) { 
    var conditionvalue = jQuery(".sortable tr:eq(" + (i + 1) + ") td:eq(3)").text(); 
    if (conditionvalue == "some string") { 
     imglinks[i] = jQuery(".sortable tr:eq(" + (i + 1) + ") td:eq(0) a").attr('href'); 
    } 
} 
+0

感謝對答覆 –

+0

@ravishankardivvela ATLEAST consiider發佈的時間。這是第一個答案.. –

+0

我確實檢查了他,他是1分鐘前。 –

1

字符串連接是不對的!

var conditionvalue = jQuery(".sortable tr:eq(" + (i + 1) + ") td:eq(3)").text(); 
// ------------------------------------------^ 

imglinks[i] = jQuery(".sortable tr:eq(" + (i + 1) + ") td:eq(0) a").attr('href'); 
// -----------------------------------^ 

更新的摘要

function findimagelinks(){ 
 
    var rows = jQuery(".sortable tr.even").length + jQuery(".sortable tr.odd").length; 
 
    var imglinks = []; 
 

 
    for (i = 0; i < rows; i++) { 
 
    var conditionvalue = jQuery(".sortable tr:eq(" + (i + 1) + ") td:eq(3)").text(); 
 
    if (conditionvalue == "some string") { 
 
     imglinks[i] = jQuery(".sortable tr:eq(" + (i + 1) + ") td:eq(0) a").attr('href'); 
 
    } 
 
    } 
 
    console.log(imglinks); 
 
} 
 

 
findimagelinks();

+1

對不起,我的謝謝你的答覆。還有一件事,所以根據上面的代碼,前4行沒有保存到數組中,最後4條保存到數組中。根據該鍵值在數組中是從4開始不是1有什麼辦法我可以得到鍵值開始在「1」。 –

+0

是的,你可以這樣做... –

相關問題