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标记。)