2012-04-11 123 views
0

我顯示使用JavaScript的HTML頁面上的JSON響應。 響應可能包含多個結果和一個對應於每個結果的鏈接。我正在動態顯示它。動態調整多個div的大小

代碼這是:

var response=eval('(' + request.responseText + ')'); 

     for(i=0;i<response.items.length;i++) 
     { 

      var innerDivElement=document.createElement('div'); 
      divElement.appendChild(innerDivElement); 
      innerDivElement.setAttribute("id", response.items[i].link); 
      innerDivElement.setAttribute("title","link_attr"); 
      innerDivElement.setAttribute("class","links"); 
      innerDivElement.innerHTML=response.items[i].link; 
     } 

這裏所有的DIV都具有相同的高度和寬度。我想根據innerHTML的大小來調整DIV的大小。如何做到這一點?

+2

你永遠不應該使用'eval':http://javascriptweblog.wordpress.com/2010/04/19/how-evil-is-eval/ – Josh 2012-04-11 19:01:40

+0

您能否解釋一下'innerHTML'的大小應該如何影響'div'(高度和/或寬度)的大小..? – 2012-04-11 19:02:08

+0

Div性質根據其內容大小而定。如果你的尺寸是固定的,因爲你的css規則會強制它們。改變你的CSS – 2012-04-11 19:02:13

回答

0

首先,你應該嘗試使用JavaScript框架像jQuery。例如,eval()函數不是很安全。但無論如何:

如果設置一個最小高度和最小寬度在CSS用於保持所述內部元件的DIV低值,它會在需要時自動伸展。

的JS方式:

divElement.setAttribute("class", "innerElementHolder"); 

或者,如果你是從一個HTML頁面檢索此的DivElement,只需添加:

class="innerElementHolder" 

到保存在你所JS創建的所有元素的DIV。

的innerElementHolder CSS應該是這樣的:

.innerElementHolder { 
    min-height: 10px; 
    min-width: 10px; 
} 
+0

我試過,但這不起作用。 – sonam 2012-04-12 05:16:21