[英]What's jQuery's css syntax for addition and subtraction on numerical values?
[英]How to pass numerical values to jQuery's .css()?
我只是從jQuery(實際上是Javascript)入手,我覺得缺乏嚴格的輸入方式開始困擾我。
我需要將諸如'123px'
或'#123'
類'123px'
值傳遞給jQuery的.css()
,如果我動態生成字符串,它將無法正常工作。
因此,字符串連接是通過+
完成的。
'123' + 'px'
有效。
123 + 'px'
沒有。
123.toString() + 'px'
也沒有!
為什么? 在其他地方傳遞字符串+數字串聯似乎有效。 這和jQuery有關嗎?
那么,如何為.css()
創建一個數字值和一個后綴/前綴的字符串呢?
示例: http : //jsbin.com/ebiro4
'123' + 'px'
有效
123 + 'px'
應該也可以,但是就像=> '' + 123 + 'px'
123.toString() + 'px'
應該是=> 123..toString() + 'px'
最后一個有點棘手。 ECMA- / Javascripts希望在此位置使用完全限定的小數位。 123.0.toString()
與..
快捷方式幾乎相同。
#80
在Javascript中永遠不是數字值。
'#' + 080
不起作用,因為080
是八進制值。 Firebug拋出: 08 is not a legal ECMA-262 octal constant
。
一些CSS屬性,例如width()
和height()
,具有專用的jQuery方法,這些方法接受數字參數並轉換為px
。
對於其他用戶,應嘗試將字符串連接起來,以避免出現意外結果。 例如,在您的jsbin中,您嘗試將'#'
和080
(實際上是80
,其數字無關緊要)連接起來,因此最終得到的是'#80'
,這不是有效的十六進制顏色代碼。
實際上,您需要使用123..toString()
因為Javascript將123.toString()
解釋為浮點值。 您需要做的第一件事是用123.
創建一個等於123.0
的浮點數,然后將其轉換為字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.