2015-04-23 24 views
1

我想添加數字項目符號來列出項目以在jQuery函數上實踐。我看不出代碼有什麼問題,但它不起作用。如何在列表中的每個項目之前添加標籤?

<html> 
    <head> 
     <script src="jquery-1.11.2.min.js" type="text/javascript"></script> 
    </head> 
<body> 
<ui> 
<li>Html Tutorial</li> 
<li>Mongodb Tutorial</li> 
    <li>Python Tutorial</li></ui> 

    <script type="text/javascript"> 
     var i = 0 
     var listItems = $("li").each(function() {listItems[i].prepend("<b>" + i + "</b>"); i++;});; 
    </script> 
    </body> 
</html> 
+1

什麼 – user1

回答

0

listItems變量的值在所有集合元素的.each()方法迭代後進行設置。在each回調函數listItems變量仍然undefined

這可能是:

var i = 0 
var listItems = $("li"); 
listItems.each(function() {listItems[i].prepend("<b>" + i + "</b>"); i++;}); 

但是用括號符號([index]),返回元件是不具有.prepend()方法的DOM元素。您應該使用.eq()方法,它返回一個jQuery對象(listItems.eq(i))或包裹與jQuery構造的元件和用於使用jQuery對象的.prepend()方法創建一個jQuery對象:

$(listItems[i]).prepend("<b>" + i + "</b>"); 

each處理程序的第二參數和它的this指的是當前元素,不需要緩存集合並使用括號表示法。

$("li").each(function(index) { $(this).prepend("<b>" + index + "</b>") }); 

而且標籤名稱是ul無序列表)不ui。如果您想要訂購訂購列表,您可以使用ol訂購列表)標籤,該標籤默認添加數字。

<ol> 
    <li>Html Tutorial</li> 
    <li>Mongodb Tutorial</li> 
    <li>Python Tutorial</li> 
</ol> 

然而,在默認情況下,從1開始編號。您可以start屬性值設置爲0

<ol start="0"> 
    <li>Html Tutorial</li> 
    <li>Mongodb Tutorial</li> 
    <li>Python Tutorial</li> 
</ol> 
0

嘗試以下,

var i = 1; 
    $("li").each(function(){ 
    $(this).prepend("<b>"+i+" </b>"); 
    i++; 
}); 

此外,你應該使用UL不UI。

而且我認爲最好的辦法acheive你想使用

  1. HTML教程
  2. MongoDB的教程
  3. Python指南
可以解決你的問題是使用 <ol>

相關問題