0

XML から完全に動的に生成された HTML のフォントの色などの CSS にアクセスして変更するにはどうすればよいですか? 生成される同じ HTML タグの数と 2 つの異なるタグのどれが生成されるかを事前に知らないため、ID を使用できない場合(赤/緑)色が必要ですか?(私はここで初めてであり、JSで非常に新しいです)

データはサーバー上で生成および収集されます。私はそれらを元に戻し、「フィールドセット」で並べ替え、さらに「折りたたみ可能」で並べ替えます。データ「var a、b、および c」は 1 行 (フィールドセット) にまとめられ、特定のフォント色である必要があります。したがって、「var d」の場合、このフォントの色の XML から返される「xx」または「yy」があり、「var d」に保存されるため、フォントの色は「赤」または「緑」である必要があります。

要するに私のスクリプトの一部:

function addPart(currentIndex,currentPart)
{
    var a = $(currentPart).find("a").text();
    var b = $(currentPart).find("b").text();
    var c = $(currentPart).find("c").text();        
    var d = $(currentPart).find("d").text();
    if(d === "xx") {
        $("div.productColor").css({"color":"green"});
    } else {
        $("div.productColor").css({"color":"red"});
    };

    $("#shoppingTableDiv").append (
        "<div data-role='collapsible'>"

            + "<h3>"
                + "<div class='productColor'>"
                        + "<fieldset class='ui-grid-b'>"
                            + "<div class='ui-block-a'>" 
                            + a
                            + "</div>"
                            + "<div class='ui-block-b'>" 
                            + b
                            + "</div>"
                            + "<div class='ui-block-c'>" 
                            + c
                            + "</div>"
                        + "</fieldset>"
                + "</div>"
            + "</h3>"
          + "</div>");

    $('#shoppingTableDiv').collapsibleset('refresh');                

}
4

1 に答える 1

0

結果にどのように色を付けたいのか完全には理解できませんでしたが、fieldsetクラスを使用できると思います。

例えば:

.ui-grid-b div { color: red; }
.ui-grid-c div { color: green; }

フィールドセットの数がわからず、コード例で示したフィールドセット クラスを使用できない場合は、nth-childセレクターが役立つことがあります。

多分このようなもの:

fieldset:nth-child(2n) div { color: red; }
fieldset:nth-child(2n+1) div { color: green; }
于 2013-06-12T06:06:07.093 に答える