2011-10-20 17 views
27

Estoy tratando de crear un div y darle una clase pero no funciona. ¿Alguien podría ayudarme?Cómo crear div con clase

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

El css:

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

en el momento en que se crea el div, pero el color no se #eeeeee

+0

Sírvanse proporcionar el código HTML también ... – Luke

Respuesta

44

uso "clase" en vez de className

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

Esto funciona en IE ya que hizo que la clase sea un literal String. –

+2

gracias muy útil! pero, ¿dónde está la documentación para esto? No puedo encontrarlo en ningún lado –

2

tratar class en lugar de className

+0

tengo probarlo pero dosnt trabajo !? – fteinz

+0

funciona para mí. http://jsfiddle.net/mpaW4/ –

+0

me siento en un navegador ie7 ¿es posible que el f .... es razonable? – 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

Lo he probado pero no funciona para mí. Es posible que el IE 7 sea razonable. – fteinz

+0

Intenta mirar la respuesta de corneliu, hace que la clase atribuya una cadena literal que debería solucionar los problemas, es decir. –

+0

mejor uso comillas - 'clase': 'prueba'. becouse class es la palabra reserver en algunas versiones de 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'); 

}); 

debería funcionar :)

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