2010-07-17 232 views
1
$(document).ready(function(){ 
    $('#show').click(function(){ 
    var totrows= $('#table').attr('rows').length; 
    for(i=0; i < totrows; i++){ 
     //var rowid = $('#table').$(this).attr('i'); 
     alert(rowid); 
    } 
    }); 
}); 

在上面的函數,當我們點擊超鏈接「顯示」我們正在從「表1」漸行數。我想添加的'價值我'的表,使它成爲「table1」「table2」「table3」「table4」「table5」。評論線給我錯誤如何打印變量的值jQuery中的for循環

+1

你可以發佈你......和HTML你想要的結果是什麼呢?這會使問題/意圖變得更清晰。 – 2010-07-17 16:21:34

+0

我想將forloop中的'i'的值附加到'table'中 – Someone 2010-07-17 16:23:35

+0

@Someone - 只是變量,或者您想要將文本粘貼到表格中,例如,創造元素? – 2010-07-17 16:26:24

回答

0

我不確定整體意圖,但它會看起來像這樣:

$(document).ready(function(){ 
    $('#show').click(function(){ 
    var totrows= $('#table').attr('rows').length; 
    for(i=0; i < totrows; i++){ 
     var rowid = 'table' + (i+1); 
     alert(rowid); 
    } 
    }); 
}); 

這將提醒「表1」,「表2」,等等......一個爲.rows每長度開始於0,所以您需要將1添加到它。如果你想它的基礎上<tr>元素,而不是某些屬性的數量,你可以使用.each(),像這樣:

$(function(){ //short for $(document).ready(function() { 
    $('#show').click(function(){ 
    $('#table tr').each(function(i) { 
     var rowid = 'table' + (i+1); 
     alert(rowid); 
    }); 
    }); 
}); 
1

下面是實際的代碼是越野車,我會盡力解釋在你的賠率程序,它可以幫助你在未來的編碼(請與我裸露,謝謝!!)

$(document).ready(function(){ 
    $('#show').click(function(){ 
    var totrows= $('#table').attr('rows').length; 
    for(i=0; i < totrows; i++){ 
     //var rowid = $('#table').$(this).attr('i'); 
     alert(rowid); 
    } 
    }); 
}); 

上面的代碼不正確的方式寫的,因爲

var totrows= $('#table').attr('rows').length;

是有在元件的任何屬性(或指定)以名稱「」?你爲什麼要煩擾一個屬性的長度?

)第二件事,當您使用this確保它是要參考哪些元素。在你的代碼,

$('#show').click(function(){ 
     var totrows= $('#table').attr('rows').length; 
     for(i=0; i < totrows; i++){ 
      //var rowid = $('#table').$(this).attr('i'); 
      alert(rowid); 
     } 
    }); 

     
//var rowid = $('#table').$(this).attr('i'); 

上面一行(評論)是無效的,應該是這樣$(this).attr('myAttr');一些事情,而且它指的是$('#show')this應該是指tr元素,如果你打算做一些東西與tr元件

for(i=0; i < totrows; i++){ 
     //var rowid = $('#table').$(this).attr('i'); 
     alert(rowid); 
    } 

i是一個計數器變量,而不是屬性

)最後一件事好好利用jQuery的API的,jQuery.com將提供它是免費的:)

編輯: 如果你想讓我爲你編碼,我會做如下操作

$(document).ready(function() { 
    $('#show').click(function() { 
     $('#table tr').each(function(i) { 
     alert('table' + (i+1)); 
     }); 
    }); 
}); 

.each()功能,我們通過一個指數元素作爲參數,如

$(selector).each(function(Index,Element){ //do some thing });

默認情況下,Index0初始化,所以如果你想要得到你的最終結果爲{table1,table2...}只需追加Index後的值1

更多信息請參考jquery網站爲.each()nick表示。

0

我想你想插入索引到每一行或類似的東西,例如,

$(document).ready(function(){ 
    $('#show').click(function(){ 

    $('#mytable').find("td").each(function(i,el){ 

     $(el).text($(el).text()+i) 

    }); 
    }); 
});​ 

它適用於下面的HTML

<input type="button" id="show" value="Show"> 

<table id="mytable"> 
    <tr><td>row</td></tr> 
    <tr><td>row</td></tr> 
    <tr><td>row</td></tr> 
    <tr><td>row</td></tr> 
</table> 

你可以試試這個在這裏http://jsbin.com/apeto3

+0

當你點擊「顯示」按鈕超過一次**時,你是否看到了代碼的輸出結果,點擊兩次後得到的輸出是「索引」是追加到以前的文本。查看 !!! – 2010-07-18 11:33:34

+0

@武士傑克,是的,它是做什麼的,展示瞭如何在飛行中修改文本,因爲我不完全清楚OP想要什麼 – 2010-07-18 12:38:01