2010-12-09 4 views
0

Salut tout le monde pourrait comprendre pourquoi cela ne fonctionnerait pas dans Safari? Son pris du code par Yi Jiang. Merci beaucoupJquery ne fonctionne pas dans 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

Qu'entendez-vous par "ne fonctionne pas"? Quelles erreurs obtenez-vous dans la console d'erreur? –

+0

Salut Chris il était juste en train de montrer une page blanche. Vous serez probablement horrifié de savoir que je ne suis pas sûr de savoir comment utiliser la console d'erreur. Voulez-vous dire dans Firebug? Une explication serait appréciée cependant. – James

Répondre

2

class est un mot réservé, vous devez citer comme ceci:

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

Je ne suis pas sûr c'est pourquoi ne pas de Safari ... mais ce serait certainement un échec dans IE pour cette raison.

+0

Un grand merci d'avoir regardé dedans – James

2

J'ai regardé la console de développeur et il a donné une erreur d'analyse que class est un mot réservé. Si vous changez vos options pour être cité, alors cela fonctionne:

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'); 
} 
+0

Salut Merci d'avoir regardé cela, ce qui concerne James – James

Questions connexes