appendChild() and createElement() Javascript question

appendChild() and createElement() Javascript question

本文关键字:question Javascript and appendChild createElement      更新时间:2023-09-26

当我在代码中使用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处理我的搜索查询到必应(只是因为谷歌现在收费…(

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

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

现在我想对这些数字应用一些样式。然而,当我将样式应用于searchResultsPage时,比如

#searchResultsPages{
 float: right;
}

我不喜欢这种风格。奇怪的是,如果我只插入这两个元素中的一个,一切都会按计划进行,风格也会很好。问题是我希望页面显示在搜索的顶部和底部。

你知道为什么会这样吗?我认为这可能与一个元素被使用两次有关,但我不知道如果对象不同,为什么会产生任何影响。

谢谢。

child.id = "searchResultsPages";
#searchResultsPage{

有什么不对劲吗?:(

类似于s

id在页面中应该是唯一的,因此如果您有两个id为"searchResultsPage"的元素,则行为可能会变得有点古怪,HTML无效。相反,如果将有多个元素,请使用class="searchResultsPage"。

其他评论者指出,失踪者的问题也很重要,尽管希望这只是问题中的一个拼写错误。