【问题标题】:jQuery: Set css background-color for an ID + VariablejQuery:为 ID + 变量设置 css 背景颜色
【发布时间】:2011-12-25 09:29:08
【问题描述】:

我正在尝试为 ID + 变量设置背景颜色,但我无法弄清楚。一定有一些我不知道的非常小的东西。

这是我所拥有的:

var abc = $dialog.data( "url" );
alert(abc)

此提醒:item1

var cde = '#' + abc
alert(cde)

此提醒:#item1

到目前为止一切顺利。现在,我正在尝试更改该 ID 的背景。 所以:

这行得通:

$(body).css('background-color', 'black');

cde.css('background-color', 'black');
$(cde).css('background-color', 'black');
$("#" + abc).css('background-color', 'black');

都在同一个函数中。

我做错了什么?

非常感谢

【问题讨论】:

  • 你只试过其中一种吗???
  • #item1 应该指什么类型的元素?
  • 是的,我以为人们会意识到,当我写下所有 3 个选项时,我的意思是我每次都使用一个。
  • @JamesAllardice 这是一个
  • .. 如果我只是这样做 $("#item1").css('background-color', 'black');它工作正常。
  • @jQuerybeast - 你能制作一个 jsfiddle 来复制你的问题吗?乍一看,我看不到任何会导致 $(cde).css(...) 不起作用的东西。
  • 标签: javascript jquery css variables


    【解决方案1】:
    document.getElementById('item1').style.backgroundColor='black';
    

    这总是有效的!

    【讨论】:

      【解决方案2】:

      如果你试试这个,它有用吗?

      $('#item1').css('background-color', 'black');
      

      【讨论】:

      • 这里也一样。它确实有效。但不是这样$('#item'+id)
      • 按照您建议的方式进行测试,我发现了错误。
      【解决方案3】:

      编辑: 把它强制成这样的字符串怎么样?

      $("" + cde).css('background-color', 'black');
      

      【讨论】:

      • 有点希望你错过了,否则代码看起来是正确的。
      【解决方案4】:

      不要使用alert(),而是使用console.log()

      alert() 有自动在对象上调用.toString() 的习惯,还会展平数组。

      我预计正在发生的事情是您的变量 abc 实际上不是一个字符串,所以您可能拥有的结果是:

      '#' + abc.toString()
      

      【讨论】:

        【解决方案5】:

        我看到您的代码不起作用的唯一原因是您传递给 jQuery 的值(即 cde 或“#”+ abc)不是“String”类型。

        你可以做一些测试:

        var test = "#item1";
        alert(test === cde);
        alert(typeof(cde));
        

        如果类型不是字符串,那么你可以简单地这样做:

        $(cde.toString()).css('background-color', 'black');
        

        【讨论】:

        • 当您将变量与字符串文字连接时,您会得到一个字符串。所以"#" + abc 会产生一个字符串。 (顺便说一句,typeof 是一个运算符,而不是一个方法,所以你不应该将操作数放在括号中。)
        • @jQuerybeast - alert(typeof cde); 说什么?我看不出它怎么可能是字符串以外的任何东西,因为您将它与字符串文字(“#”)连接起来。
        • 仅供参考,我从未说过这是逻辑,只是说我能看到 jQuery 调用失败的唯一原因是传递的参数不是字符串。我也很好奇变量的类型!
        猜你喜欢
        相关资源
        最近更新 更多
        热门标签