2010-11-12 64 views
1

需要用一些javascript手,也許它是一個星期五的事情,但即時通訊卡...JavaScript的for循環添加問題 - 創建自定義的jQuery分頁

我想提出一個自定義的jQuery的旋轉木馬和IM特林讓動態頁面。

爲了簡化問題(增加了硬編碼值),在目前這樣的代碼:

for(var i = 0; i < 3; i++) { 
$('.paging').append('<a href="#" rel="0">Test</a>'); 
} 

輸出:

<a href="#" rel="0">Test</a> 
<a href="#" rel="0">Test</a> 
<a href="#" rel="0">Test</a> 

而我需要的代碼像輸出:

<a href="#" rel="0">Test</a> 
<a href="#" rel="200">Test</a> 
<a href="#" rel="400">Test</a> 

我可以調整上面的for語句,以便每次循環時都增加200個語句?

任何幫助將被大量appreiated。

A.

回答

2

您可以更輕鬆地與$(html, props)符號和.appendTo(),這樣做:

for(var i = 0; i < 3; i++) { 
    $('<a />', { href: '#', text: 'Test', rel: i*200 }).appendTo('.paging');  
} 

You cant test it out here。如果你經歷了很多循環,雖然,我建議緩存.paging選擇,就像這樣:

var p = $('.paging'); 
for(var i = 0; i < 3; i++) { 
    $('<a />', { href: '#', text: 'Test', rel: i*200 }).appendTo(p);  
} 
+1

+1語法..我喜歡約定,但還沒有得到自己的使用它呢..需要一些自我執行.. – 2010-11-12 18:29:05

+0

不知道那個($(html,道具) )。這是性感的,我想更可讀的元素的更多屬性取決於變量。 +1給你! – 2010-11-12 18:33:57

+0

@Simen - 在許多情況下也要記住它更安全,例如文本在被設置之前進行了清理,引號被編碼以便它們不會搞砸你的HTML等等......總是比較喜歡創建if在所有可能的:) – 2010-11-12 18:35:28

0

試試這個:

for(var i = 0; i < 3; i++) { 
    var rel = i * 200; 
    $('.paging').append('<a href="#" rel="' + rel + '">Test</a>'); 
} 
0
乘以計數器( i
for(var i = 0; i < 3; i++) { 
$('.paging').append('<a href="#" rel="'+i*200+'">Test</a>'); 
} 
1

試試這個:

var str = ''; 
for(var i = 0; i < 3; i++) { 
str +='<a href="#" rel="' + i * 200 + '">Test</a>'; 
} 

$('.paging').append(str) 

追加一次應該會更好。