8

したがって、ここでdivを追加する方法とここでクラスを追加する方法がわかりますが、2つを組み合わせるのに問題があります。div sparkLineContainer 内で特定のクラスと ID を持つ div を大量に生成したいと考えています。

私は含むdivを持っています

<div id="#sparkLineContainer"></div>

それに次のようなものをたくさん追加したい

    <div id="#sparkLineContainer">
        <div class="sparkLines" id="id1">Some stuff here</div>
        <div class="sparkLines" id="id2">Some stuff here</div>
        <div class="sparkLines" id="id3">Some stuff here</div>
// and so on
    </div>

スニペット - 私はあまりうまくいかなかった、私は困惑している

$('#sparkContainer').add("div");  \\ How do I add the id and class to this div?
                                  \\ And as a repeat the function will it overwrite this?

私がこれをやろうとしている機能。

function renderSparklines (array1, sparkLineName, id) {
// array1 is the data for the spark line
// sparkLineName is the name of the data.  
// Turn all array values into integers
arrayStringToInt(array1);

    // Create new div of class sparkLines
$('#sparkContainer').add("div")

    // Render new spark line to
$('.sparkLines').sparkline(array1, {width:'90px'});

var htmlString = "";  //  Content to be added to new div
//  GENERATE LITTLE SPARK BOX 
    htmlString += 
                '<font class = "blueDescriptor">' + sparkLineName + '</font>'+
                '<br>'+
                '<font class = "greyDescriptorSmall">Ship to Shore</font>'+
                '<br>'+
                '<font class = "blackDescriptorSparkLine">' + array1[array1.length-1] + '</font>'+
                '<font class = "greenDescriptorSparkline">(' + (array1[array1.length-1] - array1[array1.length-2]) + ')</font>' +
                '<br>';
    $('.sparkLines').prepend(htmlString);

}

4

4 に答える 4

24

addあなたが思っていることをしません。あなたが探しているappendか、似たようなものです。

最初に div を作成し、その属性と内容を定義してから追加できます。

var $newDiv = $("<div/>")   // creates a div element
                 .attr("id", "someID")  // adds the id
                 .addClass("someClass")   // add a class
                 .html("<div>stuff here</div>");

$("#somecontainer").append($newDiv);
于 2012-04-23T15:25:48.973 に答える
9

コンテナに div を追加する必要があります.append.prepend以下の私のバージョンを参照してください。

var $sparkLines = $('.sparkLines');
$("#sparkLineContainer")
   .append('<div id="id' + 
            ($sparkLines.length + 1) + 
            '" class="sparkLines">Some Stuff Here</div>')

また、div の id が であることに気付きました#sparkLineContainer。以下のように変更する必要があります。

<div id="sparkLineContainer"> 
...

デモ

于 2012-04-23T15:33:30.483 に答える
2

おそらく最も簡単な方法は、innerHTML を変更することです。

$("#sparkLineContainer").append('<div class="sparkLine" id="id1"></div>');

他にも方法はありますが、私が普段使っている方法です。

于 2012-04-23T15:26:11.227 に答える