2011-10-20 33 views
27

Próbuję utworzyć div i dać mu klasę, ale to nie działa. Czy ktoś może mi pomóc?Jak utworzyć div z klasą

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

css:

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

w tej chwili tworzy div ale kolor nie jest #eeeeee

+0

Proszę podać kod HTML zbyt ... – Luke

Odpowiedz

44

użytku "klasy" zamiast klasy nazwa

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

To działa w IE, ponieważ uczyniłeś klasę literałem String. –

+2

dzięki bardzo przydatne! ale gdzie jest dokumentacja do tego? Nie mogę go nigdzie znaleźć –

2

spróbować class zamiast className

+0

muszę spróbować, ale to dosnt pracę !? – fteinz

+0

działa dla mnie. http://jsfiddle.net/mpaW4/ –

+0

Siedzę na przeglądarce ie7, czy jest możliwe, że f .... tj. jest uzasadnione. – 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

Mam spróbować, ale to nie działa dla mnie. czy to możliwe, że IE 7 jest rozsądny. – fteinz

+0

Spróbuj spojrzeć na odpowiedź corneliu, która sprawia, że ​​atrybut klasy jest literałem ciąg, który powinien rozwiązać np. Problemy. –

+0

lepsze wykorzystanie ofert - "klasa": "test". ponieważ klasa jest słowem zastrzeżonym w niektórych wersjach 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'); 

}); 

Powinna działać :)

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