2011-10-20 6 views
27

Sto cercando di creare un div e dargli una lezione, ma non funziona. Qualcuno potrebbe aiutarmi?Come creare div con classe

$(document).ready(function() { 
$('input[type=checkbox]').each(function() { 
    $(this).after($('<div />', { 
     className: 'test', 
     text: "a div", 
     click: function(e){ 
      e.preventDefault(); 
      alert("test") 
     }})); 
    }); 
}); 

Il CSS:

.test { 
    width:200px; 
    height:200px; 
    background-color:#eeeeee; 
    } 

nel momento in cui crea il div ma il colore non è #eeeeee

+0

Si prega di fornire il codice HTML anche ... – Luke

risposta

44

uso "classe", invece di className

$('<div />', { 
     "class": 'test', 
     text: "a div", 
     click: function(e){ 
      e.preventDefault(); 
      alert("test") 
     }}) 
+3

Questo funziona in IE dato che hai creato un valore letterale String di classe. –

+2

grazie molto utile! ma dov'è la documentazione per questo? Non riesco a trovarlo ovunque –

2

provare class invece di className

+0

devo provarlo ma dosnt lavoro !? – fteinz

+0

funziona per me. http://jsfiddle.net/mpaW4/ –

+0

mi siedo su un browser ie7 è possibile che la f .... cioè sia ragionevole. – fteinz

6
$(document).ready(function() { 
$('input[type=checkbox]').each(function() { 
    $(this).after($('<div />', { 
     class: 'test', 
     text: "a div", 
     click: function(e){ 
      e.preventDefault(); 
      alert("test") 
     }})); 
    }); 
}); 

http://jsfiddle.net/yF9pA/1/

+0

ho provato ma non funziona per me. è possibile che l'IE 7 sia ragionevole. – fteinz

+0

Prova a guardare la risposta di corneliu rende l'attributo class una stringa letterale che dovrebbe risolvere i problemi. –

+0

usa meglio le virgolette - "class": "test". perché la classe è la parola di riserva in alcune versioni di IE. – Levsha

3
$('input[type=checkbox]').each(function() { 

$(this).after('<div></div>').addClass('test') 
    .filter('div').html('a div') 
.click(function() { 
    alert('Handler for .click() called.'); 
}).end() 
.appendTo('this'); 

}); 

dovrebbe funzionare :)

4
$('<div>', { 'class': 'your_class' }) 
       .load('HTML Structure', CallBackFunction()) 
       .appendTo(document.body);