簡體   English   中英

如何將數值傳遞給jQuery的.css()?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM