5.4 一定要把样式加在标记中吗?
如果你经常访问网猴,你可能知道我们鼓吹在线文档中结构、表现和行为的分离。你保持你的HTML结构,用CSS进行布局,然后用JavaScript做一些事情。尽可能地不要把这三者混在一起。问题是,当你从文档的head部分应用样式规则到对象时,在IE中,整个规划会分离到不同部分。
<html>
<head>
<title>DOM example</title>
<style>
#foo {position: absolute; left: 10px; top: 10px}  
</style>
<script>
function alertIt() {  
alert(foo.style.left);  
</script>
</head>
<bodyonload="alertIt()">
<divid="foo">This is the sample</div>
</body>
</html>你得到一个空的对话框,是吗?
你的第一个反映可能是假定下载过程中断了。但是实际上是IE把这个整体分离。因为如果你查看文档,对象foo并没有样式在其中,虽然它有一个指向样式表的ID。所以foo的唯一属性是ID。你可以做一个实验,在foo标记中加入:
<div id="foo" bar="neat">This is the sample</div>
现在alert(foo.bar)会返回"neat"。你看出来在IE中发生什么了吗?标记中的任何属性都在DOM中作为对象的属性出现。但是如果它不在对象内,就在DOM中没有反映。这就是为什么把样式加到标记中。
为了修正这个问题,我们再一次使用JavaScript的object-as-reference能力。但是不指向HTML对象,我们为按照ID为对象指定样式表规则。页面的结果和在你的脚本中的一致,但是不需要把样式放在标记行中。
<script>  
function setup(myId){  
if(document.layers){  
myObj = document.layers[myID];  
} elseif(document.all) {  
for (ss=0 ; ss < document.styleSheets.length; ss++)  
{  
for (sr=0 ; sr < document.styleSheets(ss).rules.length;  
sr++) {  
if (document.styleSheets(ss).rules(sr).selectorText ==  
'#' + myId) {  
myObj = document.styleSheets(ss).rules(sr).style;  
}  
}  
}  
}  
}  
</script>结果是循环经过所有的页面的样式表。如果其中一个与你的对象的ID匹配,它就作为这个对象的别名。你可以象从前一样处理,但是用的HTML代码更整洁。
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
- 1尚硅谷前端学科全套视频[AVI][130.72GB]
 - 2深入理解php:高级技巧、面向对象与核心技术(原书第3版) 【PDF】
 - 3开发高质量PHP框架与应用的实际案例解析【PDF】
 - 4响应式Web图形设计 ([美]Christopher Schmitt) 中文【PDF】
 - 5响应式Web设计:HTML5和CSS3实践指南【PDF】
 - 6响应式Web设计:HTML5和CSS3实战 第2版 (本·弗莱恩) 中文【PDF】
 - 7Axure RP8 实战手册 网站和APP原型制作案例精粹(小楼一夜听春语) 试读版【PDF】【15.4MB】
 - 8[马上学Android]安卓开发视频教程
 - 9Android开发视频教程
 - 10PHP100视频教程
 
- 1Java编程思想On Java 8[PDF][中文][英文][源码][15.31MB]
 - 2PostgreSQL实战 (谭峰等著)【PDF】【221.29MB】
 - 3【机器学习】菜菜的sklearn课堂(1-12全课)[PDF][源码][157.45MB]
 - 4UNREAL ENGINE 4蓝图完全学习教程[PDF][66.67MB]
 - 5加密与解密(第4版)[PDF][光盘源码][1.15GB]
 - 6Qt 5.9 C++开发指南[PDF][276.26MB]
 - 7Python数据分析与应用PPT、教案、实训数据、习题答案[PPT][142.49MB]
 - 8数据中台:让数据用起来[PDF][12.80MB]
 - 9计算机网络:自顶向下方法(第7版) 【PDF】【英文】【17.46MB】
 - 10大话5G:走进万物互联新时代【PDF】【37.31MB】
 
 