|
|
IE & Netscape
|
IE only
|
1
|
居中
|
<center> OBJECT </center>
|
<p align=center> OBJECT </p>
|
2
|
form element 使用
|
所有<input>等要引用的元素,都放在一个<form></form>中
|
可以通过id直接访问,不通过form
|
3
|
元素的引用方法1
|
document.form_name.element_name
document.form_name.element_name[i]
document.form_name.elements[element_name]
|
form_name.element_name
form_name.all(element_name)
form_name.elements(element_name)
element_id
|
4
|
全选文本框
|
document.form_name.textbox_name.focus()
document.form_name.textbox_name.select()
注意:netscape6.1以上版本,可以不先focus
|
document.form_name.textbox_name.select()
(netscape中必须先focus)
|
5
|
Table
|
<table><tr><td><th>都有完整的结束标记</table></tr></td></th>
|
缺少一些没有关系
|
6
|
根据名字索引
|
无document.all,这是造成大部分javascript函数不能使用的原因;
document.getElementById(id) 可用,但是只是支持id,不支持按name索引
(如果要同时用element_name or id 索引,可以考虑使用util.asp加入的新函数:
document_all(element_name_or_id) 见使用示例1)
注意:netscape4.8不支持document. GetElementById和document.all
|
document.all(element_name_or_id)
|
7
|
关于CSS
|
class=class_name
(class_name区分大小写, 而且不支持BORDER-COLLAPSE: collapse,这是造成界面难看的主要原因)
.css中的第一个类不起作用
|
class=class_name(class_name不区分大小写)
|
8
|
|
低版本javascript中switch的能力很差,不支持变量case
注意:我测过nerscapte6.1以上版本,支持case
|
|
9
|
元素引用2
|
引用元素的id时,区分大小写
|
引用元素的id时,不区分大小写
|
10
|
Cursor显示手形
|
Cursor: pointer
(ie6支持pointer; ie5以下不支持pointer)
|
Cursor: hand
|
11
|
innerText
|
用innerHTML代替innerText
netscape6.0+不支持innerText
|
|
12
|
<Caption align=left></caption>(table的属性)
|
对于netscape,Caption出现在table的左侧,如附图1
|
对于ie,Caption出现在table的上方左侧,
如附图2
|
13
|
<col>
|
对于netscape,<col>的显示属性不会影响到所对应的其他列
|
对于ie,<col>的显示属性会影响到所对应的其他列
|
14
|
元素引用3
|
元素不是在form内时,引用元素使用document.getElementById("tblRole").
|
Window.tblRole在ie可以.
|
15
|
自定义属性的使用.
|
有些界面上使用如<tr prj_code=’’>这样的自定义属性方式来保存值,netscape不支持tr.prj_code取值.需用objElm.attributes.getNamedItem(strAtrName).value.
注意:util.asp里已经写了function GetElementAttribute(objElm,strAtrName),可以直接调用.
|
Tr.prj_code可以取到值.
|
16
|
事件event及取事件源元素
|
Netscape用”事件.target”而不支持event. SrcElement取事件源元素.
Netscape也不能用event直接得到事件,可以考虑以“触发事件时将event传到javascript的方式得到事件”.
注意:util.asp里已经写了event_SrcElement(ObjEvent)来获得事件源元素.
触发事件的方法如:
<input type=button onclick=”invokeClick(event);”>
|
Event. SrcElement
|
17
|
Form
|
NetScape中必须使用document.FormName,
|
IE中可以使用document.FormName和
Window.FormName
|
18
|
对表格的操作
|
TableId.rows[i].cells[i].childNodes[i]
Netscpate里不能使用 ( )
|
TableId.rows[i].cells[i].childNodes[i]
TableId.rows(i).cells(i).childNodes(i)
|
19
|
TableId.rows[i].cells[i].childNodes[i].length不同的问题
|
子节点类型有2种,一种是element node;(nodeType=1),另一种是text node(nodeType = 3),可以遍历所有子节点,把所有的text node删掉,也可以修改html代码,把多余的空格删掉
方法一:
var tbl1 = document.getElementById(“table1”);
for (I=0;I<tbl1.childNodes.length)
{
var temp = tbl1.childNodes[i];
if (temp.nodeType == 3)
{
tbl1.removeChild(temp);
}
}
|
20
|
parentElement
|
ParentNode
Netscape中不能使用parentElement
|
ParentElement
parentNode
|
21
|
SrcElement
|
IE用srcElement,netscape用target,
ie不能用target
|
|
22
|
Children,childNodes
|
ChildNodes
|
Children,childNodes
|
23
|
Radiobutton在netscape中出现可以多选的问题
|
必须把radiobutton放入<form></form>中
|
|
24
|
Msxml.dll
|
NETSCAPE:
VarxmlDoc= document.implementation.createDocument("","",null);
var xmlServerHttp = new XMLHttpRequest();
|
IE:
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
var xmlServerHttp = new ActiveXObject("Msxml2.XMLHTTP");
|
Ie 支持:xmlDoc.load(filename) 和 xmlDoc.loadXML(string)
NS只支持xmlDoc.load(filename)方法
if (navigator.appName =="Microsoft Internet Explorer") //IE
{
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
var xmlServerHttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlDoc.async = false;
xmlDoc.loadXML(xmlStr);
xmlServerHttp.open("POST",toUrl, false);
xmlServerHttp.send(xmlStr);
re = xmlServerHttp.responseText;
}
else
{
var xmlDoc = document.implementation.createDocument("","",null);
var xmlServerHttp = new XMLHttpRequest();
var DOM = new DOMParser();
xmlDoc.async = false;
var DOMdoc = DOM.parseFromString(xmlStr,"text/xml");
xmlDoc.load(DOMdoc);
xmlServerHttp.open("POST",toUrl, false);
xmlServerHttp.send(DOMdoc);
re = xmlServerHttp.responseText;
}
SponOrgXMLforUpdate1 = “<sponsor_org name=’zwh’ age=’22’ />”
if (navigator.appName =="Microsoft Internet Explorer") //IE
{
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument"); xmlDoc.async=false; xmlDoc.loadXML(SponOrgXMLforUpdate1);
node = xmlDoc.selectSingleNode("//sponsor_org");
} else
{
var DOM = new DOMParser();
var xmlDoc = DOM.parseFromString(SponOrgXMLforUpdate1, 'text/xml'); var node = xmlDoc.getElementsByTagName('sponsor_org')[0]; }
|
|
25
|
<tr id=”tr1” a=”a1” b=”b1”>
|
取值:
tr1.attributes.getNamedItem("a ").value
tr1.attributes.getNamedItem("b ").value
赋值或者设置属性
tr1.setAttribute(“a”,”a1”)
tr1.setAttribute(“b”,”b1”);
|
Tr1.a
Tr1.b
|
26
|
给下来框新增一个option
|
Var newOpt =new Option(text,value,false,false); Select.options[Select.options.length] = newopt;
|
var oOption = document.createElement("OPTION"); oOption.text="" ; oOption.value=""; Select.add(oOption);
|
27
|
删除下拉框的某个option
|
Select.options[i] = null;
|
Select.options[i] = null;
Select.options.remove(i);
|