将文档中className有“red”的标签背景色设为红色(百度2014校招前端笔试题)

用原生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";
						}
				}
			}
		}();



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值