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 处理我的搜索查询(只是因为谷歌现在收费......)

接下来,我使用相同的方法插入另一个 div:

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

现在我想对这些数字应用一些样式。但是,当我将样式应用于 searchResultsPage 时,例如

#searchResultsPages{
 float: right;
}

我没有得到传递的风格。奇怪的是,如果我只插入这两个元素中的一个,一切都会按计划进行,并且样式显示得很好。问题是我希望页面显示在搜索的顶部和底部。

任何想法为什么会发生这种情况?我认为这可能与一个元素被使用两次有关,但我不知道如果对象不同,为什么这会影响任何事情。

谢谢。

4

2 回答 2

4
child.id = "searchResultsPages";

#searchResultsPage{

看看那里有什么问题吗?:)

像一个s

于 2011-04-12T19:05:45.460 回答
1

ID 在页面中应该是唯一的,因此如果您有两个 id="searchResultsPage" 的元素,则行为可能会有些混乱,并且 HTML 无效。相反,如果有多个元素,请使用 class="searchResultsPage"。

其他评论者指出的缺失“s”的问题也非常重要,尽管希望这只是问题中的一个错字。

于 2011-04-12T19:06:35.693 回答