我正在尝试结束我的脚本占位符RX。我需要做的就是从这次调用返回的字符串末尾获取“px”。
$(form).children('.inputSpan').each(function() {
var $input = $(this)
var $padding = $input.children('.input').css('padding-left');
});
这将返回“6px”。我想剪掉 6 px 并确保它是一个整数,这样我就可以向它添加 2 像素并将其提供给 css 规则。我是 javascript 中字符串操作的新手。帮帮我吧!
最佳答案
您可以使用基本的 JavaScript Replace()、parseInt() 或 parseFloat() 函数从结果中删除“px”。您使用哪种方法,取决于您到底需要什么。
以下是使用 parse Replace() 删除“px”的代码的缩短版本。
$(form).children('.inputSpan').each(function() {
var padding = $(this).children('.input').css('padding-left').replace("px", "");
});
在上面的代码中,“16px”将返回“16”。 “16.7px”将返回“16.7px”。 “16em”将返回“16em”。
<小时/>以下是使用 parse parseInt() 删除“px”等内容的代码的缩短版本。
$(form).children('.inputSpan').each(function() {
var padding = parseInt($(this).children('.input').css('padding-left'));
});
在上面的代码中,“16px”将返回“16”。 “16.7px”将返回“16”。 “16em”将返回“16”。与第一个 Replace() 示例相反,这将删除所有文本,而不仅仅是“px”。
<小时/>以下是使用 parse parseDouble() 删除“px”等内容的代码的缩短版本。
$(form).children('.inputSpan').each(function() {
var padding = parseDouble($(this).children('.input').css('padding-left'));
});
在上面的代码中,“16px”将返回“16”。 “16.7px”将返回“16.7”。 “16em”将返回“16”。与 parseInt() 相反,如果由于某种原因您有小数,它会保留小数。
<小时/>当然,如果有理由查看所采取的分解步骤以供将来引用,或者如果其他变量出于其他原因而使用,则可以将代码保持较长。这是使用 parseInt() 的长版本。
$(form).children('.inputSpan').each(function() {
var $input = $(this)
var padding = $input.children('.input').css('padding-left');
var paddingInt = parseInt(padding);
});
另外,解释变量名称从 $padding 到 padding 的更改。 javascript 变量前面的 $ 符号是区分常规 javascript 变量和 jQuery 变量的常见用法,因为它们具有不同的属性。没有理由使用 $padding,因为 .css() 不返回 jQuery 对象,而只是一个简单的字符串。
此外,对于更复杂的搜索,您可以研究正则表达式。
关于javascript - 试图从字符串中删除 'px' 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8109350/