我在工作中遇到的JS问题汇总

1.tabmenu问题
这个问题我一直在网上参考源码,参考了很多源码,但是我感觉很难处理,我自己困惑的地方有这样几点。
1、我只能通过getElementById(“tab”)在读取他的子元素时我只能getElementsByTagName(“li”),那么我如何才可以去读取他的classname呢?这个我很不清楚,也写了,但是是无法通过的,我很不能理解,希望有高人可以替我解释一下。
2、给一个元素增加新的classname的过程中时,我发现addclass(),被认为是没有定义的函数,我自己经过测试经过各种查资料发现只有通过x.className += ” “+”selected”;你还必须加个“ ”,否则class的名字就直接是AB而不是我们想要的A B了。
3、移除classname时,x.replace是行不通的。
4、左右侧必须一一对应控制台会报错。
【我参考的资料【挺有用的,很详细,不像网上就只有源码,这个也从思想的角度剖析了】,很棒,建议大家去看一下】
http://blog.sina.com.cn/s/blog_418d7b1e0100w6ch.html

我自己的代码如下,然后这个根据上方的那个资料,真的很棒,这里的JS和HTML一点关系都没有,不需要去更改css样式,也不需要去用复杂的什么OPACITY透明化。

<script>
    function changetab(){
    
    var tabs=document.getElementById("tab").getElementsByTagName("li");
            for(var i=0;i<tabs.length;i++){
                tabs[i].onclick=tab;
            }
        }
        function tab(){
    
            var tabs=document.getElementById("tab").getElementsByTagName("li");
            var cts=document.getElementById("tabmenu").getElementsByTagName("div");
            for(var i=0;i<tabs.length;i++){
                tabs[i].className="btn";
                cts[i].className="menut-right-div";
                if(tabs[i]==this){
                    tabs[i].className+=" "+"selected";
                    cts[i].className+=" "+"show";
                }   
/*控制台输出看他的classname对不对*/                        console.log(tabs[i].className);                             console.log(cts[i].className);
            }
        }
        window.onload=function(){
    
            changetab();
        }
 </script>

9-24补充
仿别人网站时发现一个更加简单的tabmenu的代码,非常简短

html:
    <ul class="bonus-tab">
       
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值