2010-12-09 88 views
0

嗨,有人可以找出爲什麼這不會在Safari中工作嗎?它來自易江的代碼。非常感謝Jquery在Safari中不工作

<div id="profile-list"></div> 

<script> 
    var classes = ['email-checkout', 'absc', 'random', 'brrrr']; 

    for (var i = 0; i < 6000; i++) { 
    $('<input />').attr({ 
    type: 'checkbox', 
    class: classes[Math.floor(Math.random() * classes.length)], 
    checked: (Math.random() > .5) 
    }).appendTo('#profile-list'); 
    } 
</script> 
+1

你是什麼意思的「不工作」?您在錯誤控制檯中遇到什麼錯誤? – 2010-12-09 11:43:22

+0

嗨克里斯它只是顯示一個空白頁面。您可能會很驚訝地知道我不太清楚如何使用錯誤控制檯。你的意思是在Firebug中嗎?儘管如此,一個解釋將被讚賞。 – James 2010-12-09 20:57:12

回答

2

class是一個保留字,你需要引用這樣的:

"class": classes[Math.floor(Math.random() * classes.length)], 

我不肯定這是爲什麼Safari的失敗......但它肯定會失敗在這個原因IE。

+0

非常感謝您的關注 – James 2010-12-09 20:53:50

2

我看着開發者控制檯,它給出了一個解析錯誤,class是一個保留字。如果你改變你的選擇被引用,那麼它的工作原理:

for (var i = 0; i < 40; i++) { 
    $('<input />').attr({ 
     "type": 'checkbox', 
     "class": classes[Math.floor(Math.random() * classes.length)], 
     "checked": (Math.random() > .5) 
    }).appendTo('#profile-list'); 
}