怎么才能在不同的ul中的li里用js实现隔行变色,如果ul的id为list
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么才能在不同的ul中的li里用js实现隔行变色,如果ul的id为list相关的知识,希望对你有一定的参考价值。
怎么才能在不同的ul中的li里用js实现隔行变色,如果ul的id为list
<style type="text/css">
*
margin:0;
padding:0;
#list
margin:100px;
list-style:none;
width:200px;
#list li
height:25px;
line-height:25px;
text-align:center;
border:1px solid #ccc;
/*margin-bottom:-1px;*/
.list1
background:pink;
.list2
background:#CCFFFF;
</style>
</head>
<body>
<ul id="list">
<li>
第一行
</li>
<li>
第二行
</li>
<li>
第三行
</li>
<li>
第四行
</li>
<li>
第五行
</li>
<li>
第六行
</li>
</ul>
<script language="javascript">
var list = document.getElementsByTagName("li");
var len = list.length;
for (i=0;i<len;i++)
if (i%2==0)
list[i].className = "list1";
else
list[i].className = "list2";
</script>
大致是这样,但是要是专属于class=“list”的ul的li颜色变化而不是别的ul
var list = document.getElementsByTagName("ul"); // 查找所有ul
var len = list.length;
for (j = 0; j < len; j++)
if (list[j].className != 'list')
// 如果ul的className不是list
// 那么执行下一次循环
continue;
var li = list[j].children; // ul下的li
var liLen = li.length;
for (i = 0; i < liLen; i++)
if (i % 2 == 0)
li[i].className = "list1";
else
li[i].className = "list2";
参考技术A 也不用这么麻烦 你直接给每个li一个class(各行class相同)用css控制就好了追问
不是的,要用程序输出来的,sql语句输出来的,css不好控制的
JavaScript 隔行变色
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>标题</title>
<style>
li {
list-style: none
}
</style>
</head>
<body>
<ul id="ul1">
<li>我是第1个li标签</li>
<li>我是第2个li标签</li>
<li>我是第3个li标签</li>
<li>我是第4个li标签</li>
<li>我是第5个li标签</li>
<li>我是第6个li标签</li>
<li>我是第7个li标签</li>
<li>我是第8个li标签</li>
<li>我是第9个li标签</li>
<li>我是第10个li标签</li>
</ul>
<script>
//1.获取元素
var ul1 = document.getElementById("ul1");
var lis = ul1.getElementsByTagName("li");
//2.遍历数组,拿到每一个li标签。
for(var i = 0 ; i < lis.length; i++){
//2.1 给每一个li标签设置背景色
if(i %2 == 0){
lis[i].style.backgroundColor = "pink";
}else {
lis[i].style.backgroundColor = "skyblue";
}
var bgc; // 默认颜色 全局变量
// //2.2 给每一个li标签注册一个鼠标移入事件
lis[i].onmouseover = function () {
//鼠标移入到某一个li标签上,修改他的颜色之前,把他原来的颜色给保存起来。
bgc = this.style.backgroundColor;
this.style.backgroundColor = "red";
}
// //2.3 给每一个li标签注册一个鼠标移出事件
lis[i].onmouseout = function () {
//鼠标移出当前这个li标签,那么这个标签的颜色就要还原。
this.style.backgroundColor = bgc;
}
}
</script>
</body>
</html>
以上是关于怎么才能在不同的ul中的li里用js实现隔行变色,如果ul的id为list的主要内容,如果未能解决你的问题,请参考以下文章