第九章 CSS-DOM
另一个网友整理了很多书中的代码:http://www.cnblogs.com/jingangel/archive/2013/01/03/2843505.html
1. 三位一体的网页
浏览器看到的网页有三部分构成:结构层(HTML)、表示层(CSS)、行为层(javascript).
2. style属性
每个元素有各种各样的属性,比如位置属性:parentNode,childNOdes, previousSibling;元素本身信息属性:nodeType, nodeName;所有元素都有style属性,包含元素的样式。
var obj = document.getElementById("obj"); alert(obj.nodeName);//如果是p标签,则为p alert(typeof obj.type);//object,是一个对象 alert(typeof obj.nodeName);//string
举例:
//局限style只能获取内部样式,不能获取样式文件中的样式 element.style.color;//颜色 element.style.fontFamily;//返回字体,中间爱你没有下划线 element.style.fontSize;//字体大小
3. 获取样式
#第一种,根据标签名称 p{ font-size: 1em; } #第二种,根据样式名称 .findprint{ font-size: 1em; } #第三种,根据元素的id #intro{ font-size: 1em; }
4. 奇偶选择
tr:nth-child(odd){background-color:#ffc;} tr:nth-child(even){background-color:#fff;}
5. 响应事件,CSS可以实现,dom可以利用onmouseover事件来实现
#鼠标移过 a:hover{ color:#c60; } tr:hover{ color:#c60; font-weight: bold; }
function highlightPage(){
if(!document.getElementsByTagName) return false;
if(!document.getElementById) return false;
var headers = document.getElementsByTagName('header');
if(headers.length == 0) return false;
var navs = headers[0].getElementsByTagName('nav');
if(navs.length == 0) return false;
var links = navs[0].getElementsByTagName('a');
for(var i=0; i<links.length; i++){
linkurl = links[i].getAttribute('href');
if(window.location.href.indexOf(linkurl)!=-1){
links[i].className = "now";
var linktext = links[i].lastChild.nodeValue.toLowerCase();
document.body.setAttribute("id",linktext);
}
}
}
addLoadEvent(highlightPage);
6. className属性
obj.classNme = "intro"; elem.className += " intro";//追加
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?