如何改变每个li下的div的class?
时间:2010-05-06
来源:互联网
复制内容到剪贴板
<div class="no"></div>
<a href="#"> demo1</a>
</li>
<li onClick="?">
<div class="no"></div>
<a href="#"> demo2</a>
</li>
<li onClick="?">
<div class="no"></div>
<a href="#"> demo3</a>
</li>
如何分别改变li下的div的class=yes'?代码:
<li onClick="?"><div class="no"></div>
<a href="#"> demo1</a>
</li>
<li onClick="?">
<div class="no"></div>
<a href="#"> demo2</a>
</li>
<li onClick="?">
<div class="no"></div>
<a href="#"> demo3</a>
</li>
onClick="document.getElementsByClassName('no').className='yes'"
这个好像实现不了
作者: benaheng 发布时间: 2010-05-06
getElementsByClassName 获得的是一个数组,要更改需要用个for 循环吧
比如:
var x = document.getElementsByClassName('no');
for (i=0;i<x.length;i++)
{
document.getElementsByClassName('no')[i].className='yes';
}
突然迷糊了。。js 里面有 getElementsByClassName 这个方法吗????只记得有 getElementsByTagName。。。
[ 本帖最后由 isayno 于 2010-5-6 14:30 编辑 ]
比如:
var x = document.getElementsByClassName('no');
for (i=0;i<x.length;i++)
{
document.getElementsByClassName('no')[i].className='yes';
}
突然迷糊了。。js 里面有 getElementsByClassName 这个方法吗????只记得有 getElementsByTagName。。。
[ 本帖最后由 isayno 于 2010-5-6 14:30 编辑 ]
作者: isayno 发布时间: 2010-05-06
引用:
原帖由 isayno 于 2010-5-6 14:27 发表getElementsByClassName 获得的是一个数组,要更改需要用个for 循环吧
比如:
var x = document.getElementsByClassName('no');
for (i=0;i

作者: benaheng 发布时间: 2010-05-06
仔细查了一下,js 貌似没有 getElementsByClassName 这个方法,需要自己写。
大概思路 就是先用 getElementsByTagName获得所有 li 标签,
然后循环数组找到所有 className=“no”,
最后改成 "yes"
大概写个给你看看
function getElementByClassName(tag,oldName,newName)
{
var o = document.getElementByTagName(tag);
for (var i=0;i<o.length;i++)
{
if(o[i].className==oldName)
o[i].className=newName;
}
}
调用的时候在onclick 里面 就 写 getElementByClassName("li","no","yes")
没调试过,你自己试试
[ 本帖最后由 isayno 于 2010-5-6 14:38 编辑 ]
大概思路 就是先用 getElementsByTagName获得所有 li 标签,
然后循环数组找到所有 className=“no”,
最后改成 "yes"
大概写个给你看看
function getElementByClassName(tag,oldName,newName)
{
var o = document.getElementByTagName(tag);
for (var i=0;i<o.length;i++)
{
if(o[i].className==oldName)
o[i].className=newName;
}
}
调用的时候在onclick 里面 就 写 getElementByClassName("li","no","yes")
没调试过,你自己试试
[ 本帖最后由 isayno 于 2010-5-6 14:38 编辑 ]
作者: isayno 发布时间: 2010-05-06
如果是指定修改 那就 this.childNodes[0].className="yes" 数清楚是要修改的节点直接改了
作者: isayno 发布时间: 2010-05-06
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="generator" content="Editplus4PHP" /> <meta name="keywords" content="Leo, HentStudio, Editplus4PHP, LeoPHP" /> <meta name="description" content="LeoPHP - Powered by HentStduio" /> <meta name="author" content="Leo" /> <!-- <script type="text/javascript" src="js/common.js"></script> <link rel="stylesheet" type="text/css" href="css/style.css" /> --> <link rel="shortcut icon" href="images/favicon.ico" /> <title>Example | xHTML1.0</title> <style type="text/css"> ul li div{width:60px;height:20px;} .yes{background:#f5f5f5;} .no{background:#0f0;} </style> </head> <body> <ul id="test"> <li> <div class="no"></div> <a href="###"> demo1</a> </li> <li> <div class="yes"></div> <a href="###"> demo2</a> </li> <li> <div class="yes"></div> <a href="###"> demo3</a> </li> </ul> </body> </html> <script type="text/javascript"> <!-- function test(n) { var boxes=document.getElementById("test").getElementsByTagName("div"); var lis=document.getElementById("test").getElementsByTagName("li"); lis[n].onclick=function() { boxes[n].className=(boxes[n].className=="no")?"yes":"no" } } test(0); test(1); test(2); //--> </script>
提示:您可以先修改部分代码再运行
test(0);提示:您可以先修改部分代码再运行
test(1);
test(2);
也可以写在对应的标签上 比如

[ 本帖最后由 4321285 于 2010-5-6 14:56 编辑 ]
作者: 4321285 发布时间: 2010-05-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28