您的位置:首页 > Web前端 > JavaScript

js一些容易忽略的细节

2012-04-30 10:39 477 查看
1:firefox不支持innerHTML属性

2:removeAttribute()是移除属性操作,比如要移除style中定义的某个属性(如height)可以写成obj.style.removeAttribute("height"),要移除style中定义的全部属性时是obj.style.cssText=""(错误写法:obj.removeAttribute("style"))

3:通过内联方式动态添加样式的时候样式名必须采用驼峰式,如obj.style.borderTopColor = "red"

(大驼峰式命名法:命名中的每个单词首字母大写,并直接连接,比如:TopMenu、SubMenu;小驼峰式命名法:命名中的首个单词小写,其他单词首字母大写,比如:siteInfo、searchInput;)

4:读取嵌入页面样式表中的样式时,style读取不到。

IE通过currentStyle读取到属性的值(它可以访问所有样式,不仅仅是内联样式,所以它汇报的是实际应用在元素上的样式;

它是只读的,你不能通过它设置样式。

它是只读的,你不能通过它设置样式。 )

W3C的解决方案是window.getComputedStyle()方法(此方法只针对FireFox),此方法也是只能获取到样式,可用来获取元素中所有可用的css属性列表.以数组形式返回.注意啊getComputedStyle不会直接返回元素中某个css样式的属性值.他返回的是一个数组,不能设置样式,配合getPropertyValue属性可以获取指定的css属性值

语法:

arr_style=window.getComputedStyle(elem_id,ov);

返回值:

arr_style:以数组的形式.返回所有的css可用属性.

参数

window:直接调用window对象访问getComputedStyle方法.

elem_id:元素的id,要获取该元素的css样式

ov:伪元素,是否要获取伪元素属性值.如hover,active,link等属性.如果不想获取这些伪元素的属性值请填写为null.

获取单个属性:

语法:css_value=window.getComputedStyle.getPropertyValue(css_name);5:className中保存有多个样式表名时,若想替换其中的某一个可以这样obj.className = obj,className.replace(reg,"string")[reg是匹配出来的classname字符串,string是替换进去的值],这里主要注意的是赋值操作,没有赋值的话其className还是没变化

6:obj.onchange=function(param){do somthing} 传到param中的只有event对象,不会是别的实参7:javascript获取select中的选中值和选中文本:

var obj = document.getElementById(”select_id”); //selectid

var index = obj.selectedIndex; // 选中索引

var text = obj.options[index].text; // 选中文本

var value = obj.options[index].value; // 选中值

7:document.forms[index].elements[name]和obj.options[index]中不要把[ ]换成(),否则在火狐下会出错(提示........is not a function)

8:(参数传递加引号问题)参数如果是直接传进去的话是需要加引号的,如果是通过别的方式获取的值传进去是不需要加引号的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: