1.<SCRIPT>
var d=document.createElement("DIV")
d.innerText="hello"
d.id="d";
d.position="absolute";
d.top="200"
//...
document.body.insertBefore(d);
</SCRIPT>
2.div和span都是层
3.this只当前对象
4.不是很了解
var d=document.createElement("DIV")
d.innerText="hello"
d.id="d";
d.position="absolute";
d.top="200"
//...
document.body.insertBefore(d);
</SCRIPT>
2.div和span都是层
3.this只当前对象
4.不是很了解
解决方案 »
- 请教高手如何写一个类似jQuery一样包装的JavaScript对象
- jquery 插件 找了很久不知道为什么
- onclick能否调用js函数中的变量
- 如何让iframe根据浏览器的宽度以及高度变化,自动改变大小
- Internet起始点 您最理想的浏览器主页!速度+实用
- parent.myFrame.cols 浏览器不兼容问题!!!
- 有个问题请教?难吗?
- 请孟子E章回答一下,谢谢
- ASP.NET Ajax 客户端框架未能加载
- jquery 谷歌报错:Syntax error, unrecognized expression: )))
- 能不能做到这个效果:
- 这是什么写法啊(x < color.length-1) ? x++ : x = 0;
<SCRIPT>
function fnCreate(){
oData.innerHTML="";
var oOption=oSel.options[oSel.selectedIndex];
if(oOption.text.length>0){
var aElement=document.createElement(oOption.text);
eval("aElement." + oOption.value + "='" + oText.value + "'");
if(oOption.text=="A"){
aElement.href="javascript:alert('A link.')";
oData2.appendChild(aElement);
} else{
oData.appendChild(aElement);
}
}
}
</SCRIPT>
<SPAN ID="oData"></SPAN>
<SELECT ID="oSel" onchange="fnCreate()">
<OPTION VALUE="innerText">A
<OPTION VALUE="value"><INPUT TYPE="button">
<INPUT TYPE="text" ID="oText" VALUE="Sample Text">
<SPAN ID="oData2"></SPAN>
两者运用当中很明显的区别之一是div会导致换行:
<div>123</div><div>456</div><span>123</span><span>456</span>
2、div和span都是js的宿主(IE或其他)的对象,也是一个元素,象<body><a><table>一样;
3、this返回当前对象的引用;
4、xml可以跨平台使用,但dom基本上不能,常用msxml(IE自带)的dom,即微软的,这个规范继承于w3g的dom规范,且对其作了许多扩展,在其他的平台上(操作系统)无法使用。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head><body>
<table id="tab1" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td> </td></tr>
</table><script language="JavaScript">
alert(document.documentElement.innerHTML) //查看添加对象以前的源码
oNewTable = document.createElement("table")
//以下三种方法任选一种测试,注释掉其余两种
document.body.appendChild(oNewTable) //增加成为body的最后一个子元素
document.body.insertBefore(oNewTable, tab1) //增加成为body的子元素,位于tab1的前面
tab1.insertAdjacentElement("beforeBegin", oNewTable) //插入到tab1的前面(tab1是上面那表格对象的ID)
//beforeBegin还可以换成"afterBegin", "beforeEnd" , "afterEnd"
alert(document.documentElement.innerHTML) //查看添加对象以后的源码
//更具体的用法请参考MSDN:http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/dhtml_reference_entry.asp
</script>
</body>
</html>
问题2: DIV和SPAN不一定是层对象,只有在设置style.position = "absolute"时才是层对象,而其它很多对象(比如:IMG、TABLE)在设置了style.position = "absolute"时也可以是层对象,就是可以指定此对象的绝对位置(absolute),此时还可以设置style.left和style.top
DIV和SPAN是没有特殊意义的,它一般用来作为其它对象的容器,用得最多的是作层对象例子:<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head><body>
<table width="100%" border="0" cellpadding="0" cellspacing="0" id="tab1" style="position:absolute; left:100; top:100; background-color: #F2E6FF;">
<tr><td>这是一个用TABLE作的层</td></tr>
</table><div style="position:absolute; left:50; top:50; background-color: #D2D2FF;">这是一个DIV作的层</div>
</body>
</html>
问题3:
this就是当前对象例子:<table width="100%" onClick="aa(this)">
<tr><td>这是一个TABLE,点击试试</td></tr>
</table>
<script language="JavaScript">
function aa(oElement){
alert(oElement.outerHTML) //oElement就是上面在onClick事件里传递过来的TABLE对象
}
</script>问题4:
DOM,W3C(万维网联盟)组织定义了DOM,是可以跨平台的,后来微软在W3C DOM上扩展了很多功能,只能用于IE高版本上
很辛苦地回答完了,有什么不明白的地方再讨论!