首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用javascript的onclick方法,jquery用于显示值。

调用javascript的onclick方法,jquery用于显示值。
EN

Stack Overflow用户
提问于 2013-08-16 11:37:14
回答 2查看 122关注 0票数 0

下面的代码显示了对我的问题的简单看法。

所显示的值要到07778时才能正常工作,如下图所示,由于某种原因,它会操纵这个数字。从没见过这样的事。我想知道jquery是否有什么作用?使用1.7.1.min.js (是的,我知道它过时了,但我没有权力在这个时候更新我们的网站。)谢谢!

代码语言:javascript
复制
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="/js/jquery-1.7.1.min.js"></script>

    <script>
        function ShowText(empid) {
            $("#text").text("Valule Passed To Function: " + empid)
            return false;
        }

    </script>
</head>
<body>
    <div id="text" class="text" style="margin-bottom:34px;"></div>

    <a onclick="ShowText(01133);return false;">01133</a>
    <br />
    <a onclick="ShowText(02133);return false;">02133</a>
    <br />
    <a onclick="ShowText(03133);return false;">03133</a>
    <br />
    <a onclick="ShowText(04133);return false;">04133</a>
    <br />
    <a onclick="ShowText(05133);return false;">05133</a>
    <br />
    <a onclick="ShowText(06133);return false;">06133</a>
    <br />
    <a onclick="ShowText(07133);return false;">07133</a>
    <br />
    <a onclick="ShowText(07500);return false;">07500</a>
    <br />
    <a onclick="ShowText(07700);return false;">07700</a>
    <br />
    <a onclick="ShowText(07750);return false;">07750</a>
    <br />
    <a onclick="ShowText(07770);return false;">07770</a>
    <br />
    <a onclick="ShowText(07777);return false;">07777</a>
    <br />
    <div style="border-bottom:solid 2px black; width:100%; text-align:center;">BROKEN :(</div>
    <div style="width:100%; text-align:center;">WORKING :)</div>
    <a onclick="ShowText(07778);return false;">07778</a>
    <br />
    <a onclick="ShowText(07779);return false;">07779</a>
    <br />
    <a onclick="ShowText(07780);return false;">07780</a>
    <br />
    <a onclick="ShowText(07799);return false;">07799</a>
    <br />
    <a onclick="ShowText(07800);return false;">07800</a>
    <br />
    <a onclick="ShowText(08000);return false;">08000</a>
    <br />
    <a onclick="ShowText(08133);return false;">08133</a>
    <br />
    <a onclick="ShowText(09133);return false;">09133</a>


</body>
</html>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-16 11:43:47

这很微妙,但您在JavaScript处理数字的方式上遇到了一个有趣的怪癖。

代码语言:javascript
复制
ShowText(07778);

这个很管用。所以我们会忽略它。编辑-见下面的注释

代码语言:javascript
复制
ShowText(07700);

这不是;它实际上给出了4032的值。您忽略的是,7700在八进制是4032在十进制

因此,它不起作用的原因是JavaScript把你的0前缀数字,没有数字超过'7‘作为八进制。只要去掉前面的零(反正你把它们当作数字),或者添加引号,你的代码就能正常工作了。

有关此行为的参考信息,请参阅Objects/parseInt

虽然ECMAScript 3不鼓励,ECMAScript 5也禁止,但许多实现将以0开头的数字字符串解释为八进制。

注意:我们忽略它是因为它没有抛出错误。正如现在应该看到的那样,的原因是,7778不是一个有效的八进制数,所以解析器决定它实际上不是八进制,它只是一个带前导零的普通整数。

票数 2
EN

Stack Overflow用户

发布于 2013-08-16 11:43:36

你不小心使用了八进制数,因为你用前导零开始你的数字。去掉前导零,你就得到了预期的行为。

例如,01133 (基数8)是603 (基数10)。如果要保留前导零,请使用字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18272455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档