0

コードで appendChild() と createElement() を使用すると、定義された CSS ID の後続のスタイルが適用されません。誰かが理由を教えてもらえますか? これが私のコードです:

function searchDone(results) {
    var result = null;
    var parent = document.getElementById('postWrap');
    var child = null;
    parent.innerHTML = '';
    var insertHTML =" ";

    //Paginating Results Links
    resultNum = results.SearchResponse.Web.Total;
    resultNum = resultNum/10;
    child = document.createElement('div');
    child.id = "paging";
    if(results.SearchResponse.Web.Offset != 0){
        insertHTML ='<span><a class="jsonp b" href="#" rev="'+(results.SearchResponse.Web.Offset-10)+'">&lt;</a></span>';
    }
    if(results.SearchResponse.Web.Offset == 0){
        insertHTML += '<span>1</span>';
    }else{
        insertHTML +='<span><a class="jsonp" href="#" rev="0">1</a></span>';
    }
    for(var i = 1; i <= resultNum; i++){
        if((results.SearchResponse.Web.Offset/10) == i){
            insertHTML += '<span>'+(i+1)+'</span>';
        }else{
            insertHTML += '<span><a class="jsonp b" href="#" rev="'+i*10+'">'+(i+1)+'</a></span>';
        }
    }
    if(results.SearchResponse.Web.Total - results.SearchResponse.Web.Offset > 10){
        insertHTML += '<span><a class="jsonp b" href="#" rev="'+(results.SearchResponse.Web.Offset+10)+'">&gt;</a></span>';
    }
    child.innerHTML = insertHTML;
    parent.appendChild(child);

次に、APIを介してBingへの検索クエリを処理する他のコードがあります(Googleが現在課金しているためだけです...)

次に、同じメソッドを使用して別の div を挿入します。

//Insert Paginating results again
    child = null;
    child = document.createElement('div');
    child.innerHTML = insertHTML;
    child.id = "searchResultsPages";
    parent.appendChild(child);

ここで、これらの数値にいくつかのスタイルを適用したいと思います。ただし、searchResultsPage にスタイルを適用すると、次のようになります。

#searchResultsPages{
 float: right;
}

継承されているスタイルがわかりません。興味深いのは、これら 2 つの要素の 1 つだけを挿入すると、すべてが計画どおりに進み、スタイルがうまく表示されることです。問題は、検索の上部と下部にページを表示したいということです。

なぜこれが起こっているのですか?要素が2回使用されていることに関係があるのではないかと思いますが、オブジェクトが異なる場合にこれが影響する理由はわかりません。

ありがとう。

4

2 に答える 2

4
child.id = "searchResultsPages";

#searchResultsPage{

そこに何か問題がありますか?:)

のようにs

于 2011-04-12T19:05:45.460 に答える
1

ID はページ内で一意である必要があるため、id="searchResultsPage" を持つ 2 つの要素がある場合、動作が少しおかしくなり、HTML が無効になる可能性があります。複数の要素がある場合は、代わりに class="searchResultsPage" を使用してください。

他のコメンターが指摘している「s」の欠落の問題も非常に重要ですが、それが質問の単なるタイプミスであったことを願っています.

于 2011-04-12T19:06:35.693 に答える