2010-07-16 1385 views
2

任何想法我的代碼有什麼問題?循環創建多個div元素? JQUERY

var pageLimit=30; 

$(document).ready(function() { 
for(var i = 1; i <= pageLimit; i++) { 
    $('#test').append('<div id="page' + i + '" class="touch">TESTING</ div>') 
} 
} 

我想要的是讓該函數在pageLimit值中創建多個div。因此,如果有人要進入代碼並將pageLimit更改爲50,則會創建50個div標籤。

在body標籤中,我所擁有的就是測試div。 我想把它放入體內,而不插入任何其他divs。所以我試圖用body替換#test,不起作用。

請幫忙!謝謝。

編輯:對不起,我有);在我原來的代碼中,我忘了在這裏複製它! 是的,
標籤之前,我知道如何將代碼插入此...大聲笑對不起。我有 );在我原來的代碼中,它仍然不起作用。

+0

你能不能展示一些html代碼 - 你有什麼,當你的代碼完成操作時你想要什麼? – 2010-07-16 14:14:54

+0

在所有代碼行之前添加4個空格,並且它將在stackoverflow上正確顯示。 – Fosco 2010-07-16 14:17:09

+0

要添加HTML,請編輯您的問題(當您查看它時應該有一個編輯鏈接),並通過突出顯示它並單擊'101010'按鈕使代碼部分有點代碼。 – justkt 2010-07-16 14:18:36

回答

1

你的問題到底是一個簡單的語法問題。你錯過了「)」。始終確保也添加行結尾。這工作:

$(document).ready(function() { 
     for (var i = 1; i <= pageLimit; i++) { 
      $('#test').append('TESTING'); 
     } 
    }); 
+0

另外:這裏是優化的代碼。這使得一個DOM操作會大大提高性能。 var pageLimit = 30, testing ='TESTING'; (var i = 1; i <= pageLimit; i ++){ testing + = testing; } $('#test')。$(document).ready(function(){ 追加(試驗); }); – Zacho 2010-07-16 14:21:00

6

Missing「);」在最後}之後。

$(document).ready(function() { 
    for (var i = 1; i <= pageLimit; i++) { 
     $('#test').append('TESTING'); 
    } 
}); 
0

如何document.body.innerHTML + ='TESTING'; ?

+0

「$(document).body的這個錯誤是未定義的」。正如您將文檔包裝爲JQeury對象一樣。所有你需要做的是document.body ...不需要JQuery。 – 2010-07-16 14:19:50

+0

啊,是的,很好的感謝。 – Fosco 2010-07-16 14:23:12

0

看來它仍然是一個語法問題,你有簡單的報價,然後反引號你的元素字符串,嘗試刪除後引號。當然,確保你的html中有<div id="test"></div>

$(document).ready(function() { 
    for(var i = 1; i <= pageLimit; i++) { 
    $('#test').append('<div id="page' + i + '" class="touch">TESTING</div>') 
    } 
}); 

除非那是你的問題的另一個錯字。

+0

不是,因爲當你想在引號內包含引號時,外引號應該是單引號,而內引號應該是雙引號。 如果您使用記事本++,您可以看到不同之處。 至少這是我的老師教我的! – Annie 2010-07-16 20:07:58

+0

我正在談論後面的報價(')。正如你在我放置的代碼中看到的那樣,我也有單引號和雙引號。 – guzart 2010-07-17 06:57:16

0
$('body').append('<div>TESTING</div>') 

應該工作。你的不工作代碼是什麼樣的?