2010-12-09 92 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'); 
}