js一些容易忽略的细节

时间:2021-05-11 15:43:30
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:(参数传递加引号问题)参数如果是直接传进去的话是需要加引号的,如果是通过别的方式获取的值传进去是不需要加引号的