js原生获取className&多选一

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>js原生获取class名&多取一</title>
</head>
<body>
	<ul>
		<li class="red blue green">111</li>
		<li class="red">444</li>
		<li class="red blue green">222</li>
		<li class="cred blue green">333</li>
	</ul>
	<script>
		function className(classname) {
			var tags = document.all ? document.all : document.getElementsByTagName('*');
			var arr = [];
			// var reg = /\bclassname\b/g;//普通方式定义
			var reg = new RegExp('\\b'+classname+'\\b','g');//构造函数方式
			for (var i = 0; i < tags.length; i++) {
				reg.lastIndex = 0;
				if (reg.test(tags[i].className)) {
					arr.push(tags[i]);
				}
			}
			return arr;
		}
		var liRed = className('red');
		for (var i = 0; i < liRed.length; i++) {
			liRed[i].style.background = 'green';
		}
	</script>
</body>
</html>

  

posted @ 2016-09-01 15:08  HandsomeHan  阅读(5370)  评论(0编辑  收藏  举报