2014-06-12 92 views
0

我想在Javascript中編寫一些代碼,它將調用PageLoad上的一個函數,該函數將查找Calender_Control的高度。如果高度等於398px,那麼將文本區域的高度設置爲4行,否則將行設置爲6.Javascript函數未找到ID

這是我迄今爲止嘗試過的,它沒有找到ID。

 function changeHeight() { 
     var height = document.getElementById("#calender_control"); 
     if (height == 398) { 
      document.getElementById("#calender_control").rows = "4"; 
     } 
     else { 
      document.getElementById("#calender_control").rows = "6"; 
     } 
    } 

爲什麼我的這段代碼不工作?

+0

'的document.getElementById( 「calender_control」);'和'沒有的document.getElementById( 「#calender_control」);' –

+0

戈壁不需要''#。你已經說過你正在尋找一個ID,所以指定'#'是多餘的。您告訴JS尋找'' –

+0

由於這是標記爲ASP.NET,所以您需要確保使用客戶端ID。 – mason

回答

4

您在使用的JavaScript通過ID選擇元素做:

document.getElementById("calender_control") 

,但如果你想與jQuery的,則:

$("#calender_control") 

$("#calender_control")相當於document.getElementById("calender_control")

+0

謝謝你,但仍然我的textarea沒有改變到我說它要改變的行? –

+0

http://jsfiddle.net/ehsansajjad465/xZHGL/1/ –

+0

謝謝你得到它的工作。將在3分鐘內糾正。 –

0

document.getElementById不使用散列來表示一個id。

但是,這只是第一個問題,你希望獲得來自呼叫的號碼getElementById

var height = document.getElementById("#calender_control"); 
if (height == 398) { ... 

但調用getElementById返回HTMLDomElement

0

如果你想使用jQuery 。

function changeHeight() { 
    var height = $("#calender_control").height(); 
    if (height == 398) { 
     $("#calender_control").attr("rows", "4"); 
    } 
    else { 
     $("#calender_control").attr("rows", "6"); 
    } 
} 
0

試試下面的代碼...

function changeHeight() { 
    var height = document.getElementById("calender_control").height; 
    if (height == 398) { 
     document.getElementById("calender_control").rows = "4"; 
    } 
    else { 
     document.getElementById("calender_control").rows = "6"; 
    }}