1

各リスト要素の後ろに3つのランダムな色のdivボックスを生成したいと思います。私はこれから始めましたが、機能しません-DIVが表示されていないようです:(

http://jsfiddle.net/dgweu/1/

よろしくお願いします!

HTML

<div id="wrapper">
    <ul>
        <li>li1</li>
        <li>li2</li>
        <li>li3</li>
    </ul>
</div>​

JS

$("li").each(function(){
    var randomColor = "#"+Math.floor(Math.random()*16777215).toString(16);
        for (var i = 0; i < 3; i++) {
            stripe = document.createElement('div');
            stripe.setAttribute('style', 'width:100px; height:3px; background-color' + randomColor);  
            wrapper = document.getElementById("wrapper");
            wrapper.appendChild(stripe);
        }
});
4

4 に答える 4

5

CSS に構文エラーがあるため、div が表示されません。:afterがありませんbackground-color

div を s の後ろに表示するにはli、div を絶対に配置し、lis を相対的に配置します。

このDEMOをご覧ください。私はあなたのJSも片付けました。

于 2012-08-20T20:40:45.643 に答える
2

JavaScript の background-color 要素の後にコロンがありません。jsフィドル

stripe.setAttribute('style', 'width:100px; height:3px; background-color:' + randomColor);

于 2012-08-20T20:40:06.723 に答える
2

あなたの考えは正しいですが、JavaScript に単純な構文エラーがあります。

stripe.setAttribute('style', 'width:100px; height:3px; background-color:' + randomColor); 

関数の後にコロン ( :) を忘れただけです。background-colorsetAttribute()

于 2012-08-20T20:42:59.087 に答える
1

背景色の後にコロンがありません

別のこととして、各リスト要素の後ろに色付きの div を挿入したいと言いました。あなたのスクリプトは、最後に要素を追加するだけです

これはあなたが望んでいたものだと思います
http://jsfiddle.net/dgweu/4/
jquery をもっと頻繁に使用してください。信じられないほど便利です。jQuery の insertbefore メソッドにより、すべてが簡単になります 要素を作成し、クエリを実行してから、各 li 要素の前に挿入します

于 2012-08-20T20:43:50.233 に答える