将文档中className有“red”的标签背景色设为红色(百度2014校招前端笔试题)
2013-10-03 23:15
639 查看
用原生JS实现要求
考点:
1.原生js中只有getElementById()和getElementsByTagName()两个方法。值得注意的是,IE7中,如果A标签name的值等于B标签id的值,且A标签在B标签前,那么getElementById()获取到的是对A标签的应用。
2. 使用DOM API操作css时,一般将css属性名改为js中的驼峰样式即可,但也有特殊的,比如css中的float,因为float在js中是关键字,所以改为floatStyle。
3. 可以使用element.style.backgroundColor = "red",来写,也可以用element.style.cssText = "background-color:red;", 但是后者是完全重写了element的整个style样式。
4. IE7- 使用getAttribute("class")不能获取到element的class属性值,只能通过getAttribute("className")来获得。为了照顾到兼容性问题,可以使用element.className来获取。
window.load = function() { var allNode = document.getElementsByTagName("*"); for(var i = 0, nodeLen = allNode.length; i < nodeLen; i++) { /*var class1 = allNode[i].getAttribute("class"); var className = class1 ? class1 : allNode[i].getAttribute("className");*/ var className = allNode[i].className; if(className) { var classNameOfI = className.split(" "); for(var j = 0, classNameLen = classNameOfI.length; j < classNameLen;j++) if(classNameOfI[j] == "red") { allNode[i].style.backgroundColor = "red"; allNode[i].style.fontWeight = "bold"; } } } }();
相关文章推荐
- node场景
- jstl标签设置通用web项目根路径-备查
- 现代程序设计 网页前端开发作业(to 邹欣老师)
- Backbone.js源码浅介
- Jquery选择器
- php怎么不让html效果显示而是直接显示代码
- 如何修改script.bin/script.fex
- js跨域及解决方案
- css行高line-height的深入理解及应用
- 基于MVC4+EF5.0+Ajax+Json+CSS3的简单注册页面(get&post)
- javascript获取表格中元素的行号和列号
- 用javascript对象模拟LRUcache缓存池(百度2014校招前端笔试题)
- 2. HTML Basic
- SSH Secure File Transfer Client 传输速度过慢
- Css样式详解--选择器
- 表格常用的DOM操作
- jquery控制css的display(控制元素的显示与隐藏)
- 导航栏切换jquery
- js闭包
- js 取get过来的数据