[英]appendChild() and createElement() Javascript question
當我在代碼中使用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)+'"><</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)+'">></a></span>';
}
child.innerHTML = insertHTML;
parent.appendChild(child);
然后,我還有其他一些代碼通過Bing的API處理我的搜索查詢(僅因為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;
}
我不明白這種風格。 奇怪的是,如果我僅插入這兩個元素之一,一切都會按計划進行,並且樣式會很好顯示。 問題是我希望頁面顯示在搜索的頂部和底部。
任何想法為什么會這樣? 我認為這可能與元素兩次使用有關,但是我不知道如果對象不同,為什么這會產生任何影響。
謝謝。
child.id = "searchResultsPages";
#searchResultsPage{
看到有什么問題嗎? :)
就像一個s
ID在頁面內應該是唯一的,因此,如果您有兩個id =“ searchResultsPage”的元素,則該行為可能會變得有些棘手,並且HTML無效。 如果有多個元素,請使用class =“ searchResultsPage”。
其他評論者指出的缺失“ s”的問題也很重要,盡管希望這只是問題中的一個錯字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.