2011-10-20 3 views
27

divを作成してクラスを与えようとしていますが、動作しません。誰でも助けてくれますか?クラスを使ってdivを作成する方法

$(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; 
    } 

現時点では彼はdiv要素を作成しますが、色ではなく

+0

を、私はそれを試していますが、それは仕事をdosnt ...あまりにも – Luke

答えて

44

使用 "クラス" のclassを試してみてください#eeeeeeされていませんクラス名

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

これは、クラスを文字列リテラルにしたのでIEで動作します。 –

+2

ありがとう非常に便利です!これについての文書はどこにありますか?私はどこにでもそれを見つけることができません –

2

ではなくclassName

+0

をHTMLを入力してください! – fteinz

+0

は私のために働く。 http://jsfiddle.net/mpaW4/ –

+0

私はie7のブラウザに座っていることが可能です。 – 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

私はそれを試してみましたが、それは私のために仕事をdosnt。 IE 7が妥当である可能性があります。 – fteinz

+0

corneliuの答えを見てみると、クラスの属性が問題を解決するはずの文字列リテラルになります。 –

+0

引用符を使用してください - 'class': 'test' いくつかの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'); 

}); 

動作するはずです:)

4
$('<div>', { 'class': 'your_class' }) 
       .load('HTML Structure', CallBackFunction()) 
       .appendTo(document.body); 
関連する問題