关于 document.getElementById 取到class 详情见案例

<scripttype="text/javascript"language="javascript">window.onload=function(){varnav=do... <script type="text/javascript" language="javascript">
window.onload=function (){
var nav = document.getElementById("list_menu");
var links = nav.getElementsByTagName("li");
var lilen = nav.getElementsByTagName("a");
var currenturl = document.location.href;
var last = 0;
for (var i=0;i<links.length;i++)
{
var linkurl = lilen[i].getAttribute("href");
if(currenturl.indexOf(linkurl)!=-1)
{
last = i;
links[last].className = "current";
}
}
}
</script>
<dl class="mod_menu">
<dt class="mod_hd">
<h3>新手入门</h3>
</dt>
<dd class="mod_bd">
<ul class="list_menu">
<li><a href=>新用户注册</a></li>
<li><a href=>用户登录</a></li>
<li><a href=>找回密码</a></li>
</ul>
</dd>
</dl>

<dl class="mod_menu">
<dt class="mod_hd">
<h3>定制须知</h3>
</dt>
<dd class="mod_bd">
<ul class="list_menu">
<li><a href="help1.html">什么是定制酒</a></li>
<li><a href="help2.html">定制自己的酒有十大好处</a></li>
<li><a href="help3.html">定制酒菜单</a></li>
<li><a href="help4.html">定制酒的四种类别</a></li>
<li><a href="help5.html">定制程序五步法</a></li>
</ul>
</dd>
</dl>

<dl class="mod_menu">
<dt class="mod_hd">
<h3>支付方式</h3>
</dt>
<dd class="mod_bd">
<ul class="list_menu">
<li><a href=>在线支付</a></li>
<li><a href=>邮政汇款</a></li>
<li><a href=>银行转账</a></li>
<li><a href=>发票说明</a></li>
</ul>
</dd>
</dl>
展开
 我来答
eadio
2014-04-11 · TA获得超过1610个赞
知道小有建树答主
回答量:962
采纳率:80%
帮助的人:1018万
展开全部

虽然没说要干嘛,但是我看了下脚本执行,你使用

var nav = document.getElementById("list_menu");  这个要获取的只能是id的值,而不能是class的值的元素,如果你想要获取相同class名的元素的话,要用下面的命令。。。

var nav = document.getElementsByClassName("list_menu");

通过你的代码我修改了下,执行的后果是。。

具体测试如下:

<script type="text/javascript" language="javascript">

     window.onload=function (){

     //var nav = document.getElementById("list_menu");

     var nav = document.getElementsByClassName("list_menu");

     alert(nav.length);

     var links = nav.getElementsByTagName("li");

     var lilen = nav.getElementsByTagName("a");

     var currenturl = document.location.href;

     var last = 0;

     for (var i=0;i<links.length;i++)

     {

         var linkurl = lilen[i].getAttribute("href");

         if(currenturl.indexOf(linkurl)!=-1)

         {

             last = i;

             links[last].className = "current";

         }

     }

     }

</script>

把获取class的nav变量修改下就好了,~~~

更多追问追答
追问
我的意图是让当前项高亮,也就是获取到list_menu 下的li下的 a的href值 判断哪个a的链接为当前url,然后给予li 一个 class值   通过css  background=”#c00“ 来让当前项高亮
追答

你高亮的时候是要点击后li块出现背景高亮??这样的话不是还得判断是否被点击了,光这些代码好像不够哎,感觉jq比较好用,几句话的事就好了,你看下我附件的试试,js的要做的事情还得好多,目前没破解出来。。。抱歉了~~~

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式