【问题标题】:Uncaught TypeError: Object x has no method 'css'未捕获的类型错误:对象 x 没有方法“css”
【发布时间】:2014-01-23 14:16:14
【问题描述】:

我对此有点陌生,所以希望这个问题是可以接受的,这可能是一个非常简单的解决方法,但我似乎无法找出问题所在。

我在定义一个与 jQuery 一起使用的变量时遇到了一些麻烦,我有 12 个 div 框,有 12 个不同的 ID,我想按数字选择它们。

我使用的代码是这样的:

//random number
$(document).ready(function(){
    r= Math.floor(Math.random()*13);
    console.log("The random number is: "+r);
});

//select random square
$(document).ready(function(){
    rs = "$("+"'"+"#circle"+r+"'"+")";
    var s = rs;
    console.log(s);
    s.css("background-color" , "green");
});

当我运行它时,可验证的 RS 在控制台中返回以下错误消息:

Uncaught TypeError: Object $('#circlex') has no method 'css'

我该如何正确地做到这一点?

【问题讨论】:

  • rs 只是一个字符串。字符串原型没有css函数

标签: javascript jquery


【解决方案1】:

只需更改这一行,您将 rs 变量初始化为字符串而不是 Jquery 对象。

rs = $("#circle"+r);
var s = rs; //add inverted comma

【讨论】:

    【解决方案2】:

    你只需要一个$(document).ready(function(){,也可以去掉一些多余的代码和错误,只需要:

    $(document).ready(function(){
        r= Math.floor(Math.random()*13);
        var rs = $("#circle"+r);
        rs.css("background-color" , "green");
    });
    

    【讨论】:

      【解决方案3】:

      不需要“”

      var rs = $("#circle"+r);
      rs.css("background-color" , "green");
      

      你不需要新的变量

      【讨论】:

        【解决方案4】:

        替换

        rs = "$("+"'"+"#circle"+r+"'"+")";
        

        rs = $('#circle' + r );
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-05-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-05
          相关资源
          最近更新 更多