为了账号安全,请及时绑定邮箱和手机立即绑定

JS选项卡的问题 急

JS选项卡的问题 急

PIPIONE 2018-12-06 18:37:12
以下代码放在一个.net的用户控件中,当点击选项卡中的链接跳转后记住跳转前选中的选项卡 为什么 var menu = document.getElementById('one' + s)这句代码的 menu对象取不到值为空呢?   <script>    function setTab(name, cursel, n) {        for (var i = 0; i < n; i++) {            var menu = document.getElementById(name + i);            var con = document.getElementById("con_" + name + "_" + i);            menu.className = i == cursel ? "hover" : "";            con.style.display = i == cursel ? "block" : "none";        }    }    function getQueryString(key) {        var value = "";         var sURL = window.document.URL;         if (sURL.indexOf("?") > 0) {            var arrayParams = sURL.split("?");             var arrayURLParams = arrayParams[1].split("&");             for (var i = 0; i < arrayURLParams.length; i++) {                var sParam = arrayURLParams[i].split("=");                 if ((sParam[0] == key) && (sParam[1] != "")) {                    value = sParam[1];                    break;                }            }        }        return value;    }     var s = getQueryString('sel');    if (s != null) {        var menu = document.getElementById('one' + s);        var con = document.getElementById("con_" + 'one' + "_" + s);        menu.className = s == s ? "hover" : "";        con.style.display = s == s ? "block" : "none";    }</script><div id="TabbedPanels1" class="TabbedPanels">    <div id="Tab1">        <div class="Menubox">            <ul>                <li id="one0" onclick="setTab('one',0,3)" class="hover">AA</li>                <li id="one1" onclick="setTab('one',1,3)">BB</li>                <li id="one2" onclick="setTab('one',2,3)">CC</li>            </ul>        </div>        <div class="Contentbox">            <div id="con_one_0" class="hover">                AAAAAAAAAAAAAAA            </div>            <div id="con_one_1" style="display: none">                <a href="SalesReport.aspx?sel=2">啊啊啊 </a>                <br />                <a href="SalesReport.aspx?sel=1">是是是 </a>                <br />                <a href="SalesReport.aspx?sel=1">大大大 </a>            </div>            <div id="con_one_2" style="display: none">                CCCCCCCCCCCCCCC            </div>        </div>    </div></div>
查看完整描述

4 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

我补充下上面的回答,上面说了返回为"",而你做的判断代码 if (s != null)看似是对的,但是实际上这里是有问题的,简单的你可以做个测试,让s="";然后在运行if(s!=null)看下结果,结果会让你非常的惊奇,因为竟然这个判断返回的是true....

你这里做判断的时候应该是if(s!=null && s!="")

查看完整回答
反对 回复 2018-12-24
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

很明显如果 sURL.indexOf("?") > 0 将会返回"",自然document.getElementById('one' + s),找不到对象!!,再改进一下你的程序

查看完整回答
反对 回复 2018-12-24
?
哔哔one

TA贡献1854条经验 获得超8个赞

但是我在后面判断了是否为空啊 var s = getQueryString('sel'); if (s != null) {}当部位空的时候才调用那个方法的
查看完整回答
反对 回复 2018-12-24
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

@凭栏处: ""和null是两个意思
查看完整回答
反对 回复 2018-12-24
  • 4 回答
  • 0 关注
  • 507 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信