【问题标题】:JQuery Attribute to LowercaseJQuery 属性转小写
【发布时间】:2012-07-20 09:02:59
【问题描述】:

我很困惑为什么我会收到这个错误。我敢肯定这是我缺少的一些简单的东西:

我的带有自定义属性的 HTML5 元素:

var dataId = $(this).attr('data-id');

alert(typeof dataId); // returns 'string'

alert(dataId.toLowerCase()); // TypeError: 'undefined' is not an object     

任何帮助将不胜感激!

【问题讨论】:

  • 跟踪jquery插件trace?
  • 是的,它只是一个写入控制台的函数。我已经更新了代码,使其更加清晰。
  • 您确定$(this) 实际指的是有问题的div 吗?
  • 更新后看起来很神秘。
  • 尝试:alert((""+dataId).toLowerCase())

标签: javascript jquery string attr


【解决方案1】:

jQuery 轻松处理数据属性。试试

$(this).data('id');

【讨论】:

    【解决方案2】:

    DOM 元素没有属性 data-id 并且 attr('data-id') 返回 undefined。

    编辑:此代码工作正常:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
        <head>
          <script type="text/javascript" src="jquery.js"></script>
        </head>
        <body>
          <div data-id="AbA">Test</div>
          <script language="javascript" type="text/javascript" >
            $(document).ready(function() {
               $("div").click(function() {
                  var dataId = $(this).attr('data-id');
                  alert(dataId.toLowerCase());
               });
            });
          </script>
        </body>
    </html>
    

    【讨论】:

    • 在 html5 中,您可以使用前缀“data-”设置自己的任意属性。 'data-id' 是我自己的属性。
    • 但是你好像没有设置。
    【解决方案3】:

    你会遗漏一些东西,检查这是完整的工作代码

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" >
        </script>
        <script type="text/javascript">
            jQuery(function(){
                var dataId = $('#two').attr('data-id');
                alert(typeof dataId); // returns 'string'
                alert(dataId.toLowerCase()); 
            });
        </script>
    </head>
    <body>
        <div id="two" data-id="TYTJNFCJF">Content</div>
    </body>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 2015-12-14
      • 2013-10-28
      • 1970-01-01
      • 2019-02-26
      相关资源
      最近更新 更多