首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将数值传递给jQuery的.css()?

如何将数值传递给jQuery的.css()?
EN

Stack Overflow用户
提问于 2011-01-26 09:44:01
回答 3查看 994关注 0票数 2

我刚刚开始使用jQuery (实际上是Javascript ),我觉得缺少严格的输入开始让我头疼。

我需要将像'123px''#123'这样的值传递给jQuery的.css(),如果我动态地生成字符串,它就不能工作。

因此,字符串连接是用+完成的。

'123' + 'px' 工作.

123 + 'px' 没有。

123.toString() + 'px' 也没有!

为什么?在其他地方传递字符串+数字连接似乎有效。这与jQuery有关吗?

因此,如何从数字值和.css()的文本后缀/前缀创建字符串?

示例: http://jsbin.com/ebiro4

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-26 09:47:47

一些CSS属性(如width()height() )具有专用的jQuery方法,这些方法接受数值参数并转换为px

对于其他人,您应该尝试连接字符串,以避免意外的结果。举个例子,在jsbin中,您试图将'#'080连接起来,这实际上是带一个无关紧要的零的80,因此您最终得到的是'#80',它不是一个有效的十六进制颜色代码。

票数 2
EN

Stack Overflow用户

发布于 2011-01-26 09:48:41

'123' + 'px' works

123 + 'px' 也应该工作,但是要像=> '' + 123 + 'px'那样做。

123.toString() + 'px' 应该是=> 123..toString() + 'px'

最后一个有点棘手。ECMA-/Javascripts期望在这个位置上有完全合格的十进制位。123.0.toString()..快捷方式基本相同。

#80绝不是Javascript中的数值。

'#' + 080不能工作,因为080是一个八进制值。火虫抛出:08 is not a legal ECMA-262 octal constant

票数 3
EN

Stack Overflow用户

发布于 2011-01-26 09:48:46

实际上,您需要使用123..toString(),因为Javascript将123.toString()解释为浮点值。您需要做的第一件事是用123.创建一个浮点,它等于123.0,然后将它转换成一个字符串。

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

https://stackoverflow.com/questions/4803094

复制
相关文章

相似问题

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