Thr*_*ead 2 javascript string jquery
我正在尝试包装我的脚本placeholderRX.我需要做的就是从此调用返回的字符串末尾获取'px'.
$(form).children('.inputSpan').each(function() {
var $input = $(this)
var $padding = $input.children('.input').css('padding-left');
});
Run Code Online (Sandbox Code Playgroud)
这将返回"6px".我想关闭6 px并确保它是一个整数,这样我就可以添加2个像素并将其提供给css规则.我是javascript中字符串操作的新手.帮帮我!
小智 11
您可以使用基本的javascript replace(),parseInt()或parseFloat()函数从结果中删除"px".您使用哪种方法取决于您需要什么.
以下是使用parse replace()删除"px"的缩短版代码.
$(form).children('.inputSpan').each(function() {
var padding = $(this).children('.input').css('padding-left').replace("px", "");
});
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,"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'));
});
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,"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'));
});
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,"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);
});
Run Code Online (Sandbox Code Playgroud)
另外,解释变量名称从$ padding到padding的变化.javascript变量前面的$符号是区分常规javascript变量和jQuery变量的常用方法,因为它们具有不同的属性.没有理由使用$ padding,因为.css()不返回jQuery对象,而是返回一个简单的字符串.
此外,对于更复杂的搜索,您可以研究正则表达式.