2010-09-06 232 views
0

我需要使用javascript更改td的寬度。寬度的值將被拉入,然後我需要將其倍數以獲得一個百分比。我只需要知道如何寫JS到目前爲止,我得在這裏,但它不工作用js動態更改td寬度

<script language="JavaScript"> 
var divWidth = 66*0.4; 

document.write("<td width="+divWidth+">"); 

document.getElementById("myRow").write("<td width="+divWidth+">"); 

</script> 


<table> 
<tr> 
    <td id="myRow"></td> 
</tr> 

回答

1

我想你想要這樣的:

<script type="text/javascript"> 
    var divWidth = 66*0.4; 
    document.getElementById("myRow").setAttribute('width', divWidth);//defaults to pixels 
    //or if you really want this as a percentage 
    document.getElementById("myRow").setAttribute('width', divWidth+'%');//percent 
</script> 


<table> 
    <tr> 
    <td id="myRow"></td> 
    </tr> 
</table> 

但是,有我會在你的代碼中調整一些東西。我將腳本標記中的語言屬性(現已棄用)更改爲type="javascript"。您的TD元素上的idmyRow我會將其更改爲反映單元格的內容。

+0

不建議使用建議,樣式屬性和標籤。改用風格。 – Ben 2010-09-06 17:22:56

+0

@Ben - 我同意,儘管在IE中使用CSS的確切行爲可能會導致一些挫敗感。 – scunliffe 2010-09-06 17:25:05

2

嘗試使用jQuery,它是一個Javascript庫/框架,使用jQuery可以輕鬆十倍地執行上面的操作。

使用jQuery,你的代碼將是:

$(document).ready(function() { 
    var newWidth = $("#myRow").width(); 
    $("#myRow").width(newWidth*0.4); 
} 

//編輯:

對不起,我有多個錯誤。

+1

請記住克里斯蒂娜,「4」會被你認爲合適的百分比替換。 – Jeff 2010-09-06 17:24:58

+0

是的,他是對的,謝謝傑夫。 :) – 2010-09-06 17:34:26

+0

謝謝你的幫助。非常感激 – kristina 2010-09-07 09:32:11