2016-11-19 4 views
2

ループを使用して異なるCSS属性を持つ複数のdivを作成できないという問題があります。誰かが私を導くなら、本当に役立つだろう。複数のdivを動的に作成し、jQueryを使用してそれぞれ異なるCSSプロパティを割り当てます。

コンテナ内に1つのdivしか作成されません。問題は私の子divを追加する方法にあると思います。

ありがとうございます。

+0

1よりも大きいArray.lengthとありますか? – arop

+0

@aropはい、それは長さが4です。 – jstandshigh

+0

あなたの問題は、新しい要素を作成しているか、それらをスタイリングしていますか? –

答えて

1
$(".container").append('<div class="event" ><a>Sample text</a></div>'); 
$(".event").css("top",start+"px"); 
$(".event").css("width","94%"); 
$(".event").css("height",heightVal+"px"); 

ルックアップを文脈化する必要があります。コンテナ内にイベントを作成していますが、そのイベントをすべて選択してCSSを変更しています。私はあなたが動的に要素を作成している、と彼らはクラスセレクタを通じて、いくつかのスタイルを適用しようとしているので、あなたの問題が来ると思うし、これは動作しません...多分に

var $event = $('<div class="event" ><a>Sample text</a></div>'); 
$(".container").append($event); 
$event.css("top",start+"px"); 
$event.css("width","94%"); 
$event.css("height",heightVal+"px"); 
+0

ありがとうございました! – jstandshigh

+0

@jstandshigh複数のCSSにオブジェクトを使用する私のソリューションが見えましたか? – HenryDev

1

をロジックを変更します。

私はこの方法で行いたい:

var new_element = $('<div class="event" ><a>Sample text</a></div>'); 
$(".container").append(new_element); 
$(new_element).css('color', 'red'); 
+0

ありがとうございました! – jstandshigh

1

あなたは、コンテナを作成し、そこにあなたのdivを追加することができます。また、複数のスタイル(CSS)にオブジェクトを使用する方がよいでしょう。私の解決策を見てください。それが役に立てば幸い :)。

$(document).ready(function() { 
 

 
for (var i = 1; i <= 5; i++) { 
 
    $('#container').append('<div class="event" ><a>Sample text</a></div>').css({ 
 
    "width":"94%", 
 
    "color":"blue" 
 
    }); 
 
    } 
 

 
    $(".event:eq(2)").css({ 
 
    "background": "red" , 
 
    "color":"green", 
 
    "width":"300px" 
 
    }); 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<div id="container"></div>

+0

ありがとうございました。 – jstandshigh

+0

@jstandshighあなたは少なくとも私の答えを投票できますか?ありがとうございました – HenryDev

+0

私はあなたの答えをupvoted。 – jstandshigh

関連する問題