1.
問題:var i = Math.floor(Math.random()*6);如何理解
解答:
Math.random()會產生一個[0,1)的數
Math.random()*6會產生一個[0,6)的數,注意其中包含了小數
Math.floor(Math.random()*6)會對由上面的語句產生的數值進行向下取整
例如產生的數爲5.5,則math.floor(5.5)=5
最後把這個數賦值給變量i
2.toUpperCase()方法用於把字符串轉換爲大寫。
toLowerCase()方法用於把字符串轉換爲小寫。
3. document.getElementById使用
語法:oElement = document .getElementById ( sID )
參數:sID――必選項。字符串 (String) 。
返回值:oElemen――對象 (Element) 。
說明:根據指定的 id 屬性值得到對象。返回 id 屬性值等於 sID 的第一個對象的引用。假如對應的爲一組對象,則返回該組對象中的第一個。如果無符合條件的對象,則返回 null 。
注意: document.getElementById(" ") 得到的是一個對象,用alert 顯示得到的是“ object ”,而不是具體的值,它有 value 和 length 等屬性,加上 .value 得到的纔是具體的值!
細節:
① document.getElementById 有時會抓 name 放過了 id ,據說是 IE 的一個 BUG ;頁面中有
<inputtype="hidden" id="hello8"name="category_id"value="2" />
<select id="category_id"οnchange="al();">
一個是name="category_id" 一個是id="category_id",用document.getElementById取第二個,可是,取到的卻是第一個name=category_id,在IE中getElementById竟然不是先抓id而是先找name相同的物件。
兩個form,每個form有兩個textbox,兩個form中的textbox是相同的name,但id都不同,這樣在Firefox是沒問題的,但在IE卻只抓得到第一個出現的name資料
② javascript中的getElementbyId使用
網頁中的元素必須有id屬性,才能通過這個方法得到,比如<input type=text name="content" id="content">
③獲取html標記主要有兩種方法,一種是通過ID值,一種是通過name屬性(name屬性主要用於form表單內的input標記。)