JAVASCRIPT DOM编程艺术读书笔记

第九章 CSS-DOM

我们在浏览器看到的网页其实有三部分构成:

结构层(structural layer) 有XHTML或者HTML等标记语言创建

表示层(presentation layer) 由CSS负责创建

行为层(behavior layer) 负责内容应该如何响应事件这一动作,这主要室友javascript和DOM负责。

不过这三种技术存在重叠。CSS利用伪类进入DOM领地,DOM可以使用DOM样式给元素设定样式。在外部声明的CSS样式不会进入DOM style,在head部分声明的也一样。

 

<thead>标签定义表格的表头  <tbody>对表格中主体内容进行分组  <tfoot>对表格中的表注(页脚)进行分组    <thead>要与<tbody>或者<tfoot>搭配使用


function highlightRows() { var tables = document.getElementsByTagName("table"); for(var i = 0; i < tables.length; i++)
    { var odd = false; var rows = tables[i].getElementsByTagName("tr"); for(var j = 0; j < rows.length; j++)
        { if(odd == true)
            { rows[j].style.backgroundColor = "#ffc";  odd = false;
            } else odd = true; /*鼠标移动到行时粗体显示字体 CSS的tr:hover也可以做到*/
            rows[j].onmouseover = function () {
                this.style.fontWeight = "bold";

            }
            
            rows[j].onmouseout = function () {
                this.style.fontWeight = "normal";
            } }
    }

}

 

className属性:上面这段函数,让行为层去干表示层的活儿,不是明智的选择。可以在js里边增加class属性比如class = "intro"  具体的然后在css中设定.intro{...}


function addClass(element,value){ if(!element.className)    //通过classname属性设定元素的class属性是,会替换而不是追加  所以我们需要判断下 这个元素原先有没有class属性  没有直接替换  有就需要追加
        element.className = value; else { newClassName = element.className;
        newClassName += " ";
        newClassName += value;

        element.className = newClassName;
    }

}
 

本章主要是JS入侵CSS的领地,这么做主要是由于1:CSS无法让我们找到想要处理的目标元素  2:CSS寻找目标的方法还未得到广泛支持

另外JS能够定时重复执行一组操作,不断地改变样式,可以达到CSS做不到的效果。


#Java##笔记##读书笔记#
全部评论

相关推荐

找到实习就改名4月17日下午更改:1600一个月?
点赞 评论 收藏
分享
04-11 21:31
四川大学 Java
野猪不是猪🐗:(ja)va学弟这招太狠了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务