2013-04-05 409 views
0

我已經嘗試將.style,.style.width.style.width.value添加到JavaScript的所有部分,但到目前爲止無濟於事。Document.getElementById問題(訪問寬度屬性)

本質上,我想兩件事情。

  1. 要獲得50px價值的警告與「動畫」按鈕,點擊,運行該anim8功能。換句話說,我想要divwidth

  2. 在第二組代碼(anim82)中,我希望能夠通過單擊按鈕來設置/更改width。點擊按鈕時,我想添加10px。首先,我需要訪問該變量,但我可以改變任何內容,即width

HTML

<div id="mainTxt">Dag!</div> 
<form NAME="myForm" ACTION="" METHOD="GET"> 
<input type="button" name="button" value="Animate" onClick="anim8(this.form)"> 
<input type="button" name="button" value="Animate2" onClick="anim82(this.form)"> 

CSS

#mainTxt{width:60px;} 

的Javascript

var divAlert; 
var divSize; 

function anim8(form) 
{ 
    divAlert=document.getElementById("mainTxt"); 
    alert(divAlert); 
} 

function anim82(form) 
{ 
    divSize=document.getElementById("mainTxt"); 
    divSize.style.width=parseInt(divSize.style.width)+10+'px'; 
} 
+0

[也許它可以幫助你。(https://developer.mozilla.org/en/docs/DOM/window.getComputedStyle) – fernandosavio 2013-04-05 20:44:39

+0

你有沒有嘗試'divSize.outerWidth' – adeneo 2013-04-05 20:48:08

回答

0

試試這個

function anim82(form) 
{ 
    divSize=document.getElementById("mainTxt"); 
    var width=divSize.offsetWidth + 100; 
    divSize.setAttribute("style","width:"+ width +"px")  
} 

JS Fiddle Example

+0

這創造了我想要的確切功能。 我想盡管爲了能夠訪問某些/任何CSS屬性,我仍然想知道我可能會做什麼。假設我想改變顏色,或者離開,而不是寬度。是否有更多的通用訪問者或導航我可能想看? – Xagrand 2013-04-05 20:52:56

+0

如果你想設置其他樣式屬性,那麼你可以像'setAttribute'一樣使用上面提到的方法,或者你可以簡單地使用'divSize.style.color =「white」;'參見示例http://jsfiddle.net/ PnvJt/1/ – Sachin 2013-04-05 21:04:04

+0

Got it!謝啦!你是最好的! – Xagrand 2013-04-05 21:30:30

0

你的第一步應該是看看你是否有錯誤。如果您收到一個錯誤,試試這個代碼

var div1 = document.getElementById("mainTxt"); 
var align = div1.getAttribute("width"); 

Source

+0

如果我使用div1.getAttribute的方式,那麼我會得到「null」,儘管已經明確地設置了值。我試着檢查左邊或頂部,並得到相同的東西。 – Xagrand 2013-04-05 22:41:24