【问题标题】:Why isn't my JavaScript variable working?为什么我的 JavaScript 变量不起作用?
【发布时间】:2014-12-07 12:27:01
【问题描述】:

这行得通:

$('.sameDiv').css('width', '25%');

但这不是:

var squaresize = 25;
$('.sameDiv').css('width', 'squaresize%');

另外,我已经尝试将百分比符号作为变量的一部分,但没有帮助。

【问题讨论】:

  • 是什么让您认为 JavaScript 会在字符串中替换变量名?给定var foo = 42;,你认为var bar = 'foobar';会变成'42bar'吗?
  • 对于 JQuery + Javascript,通常最好在标题中使用 JQuery 而不是 Javascript,以便让合适的人回答。

标签: javascript jquery variables


【解决方案1】:
$('.sameDiv').css('width', 'squaresize%');

应该变成

$('.sameDiv').css('width', squaresize + '%');

我没有测试它,但如果你只是放 'squaresize%' 它不会尝试引用它...相反,只需将其作为文字字符串直接读取,评估为“squaresize%”而不是 25%

【讨论】:

  • 请将.sameDiv 包裹在字符串分隔符中...
【解决方案2】:

你的代码应该是这样的:

var squaresize = 25;

$(".sameDiv").css('width', squaresize+'%');

您的变量名称是“squaresize”。知道将字符串添加到整数时也会产生字符串,因此无需将整数转换为字符串。只需将“%”添加到您的变量值即可。

使用单引号,您将 css 设置为值 'square%' 作为静态值。

【讨论】:

  • 请不要发布解决方案,但也要说明原因!
  • @MichaelVoznesensky 但你的解释是对的。
  • Per Bergi 在另一个答案中的评论:请将 .sameDiv 包装在字符串分隔符中……
  • @ProllyGeek:仅供参考,否决工具提示文本说“这个答案没用”。答案可以包含正确的解决方案,但可能没有用。
  • @FelixKling 感谢您提供的信息,但有用的不是数字值,它可能因人而异,这样的问题并不需要回答,如果有这样的选项,我会将其标记为菜鸟问题。
猜你喜欢
  • 2011-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-07
  • 2021-01-22
相关资源
最近更新 更多