jQuery从字符串中获取数字

时间:2010-12-21 18:50:21

标签: jquery string numbers

我正在尝试使用jQuery将高度传递给colorbox。这样做,我认为定义高度的唯一方法是通过链接'class'。所以我想弄清楚如何从字符串中获取数字; e.g;

class =“height_900”;我希望它能得到数字'900'。

这可以用jQuery吗?

更多信息:好的..所以这就是我想要实现的目标。

我正在为彩盒创建一个Wordpress短代码(灯箱的变体)。 Colorbox通过jQuery设置它的高度和宽度。

Wordpress短代码包含属性“height”& 'width'允许用户根据需要手动设置。问题是,我无法找到将这些PHP变量传递给colorbox jQuery的方法。

我能想到的最好的解决方案是有一个类如下:height_ $ height;例如height_450。然后我想通过jQuery获取数字,然后将其用作特定颜色盒的高度。宽度相同。

5 个答案:

答案 0 :(得分:8)

试试这个:

parseInt( className.split('_')[1] );

答案 1 :(得分:3)

$(<Selector>).attr('class').split('_')[1];

注意我不做任何错误检查。你要做的是什么(更明确地说),必须有更好的方法。

答案 2 :(得分:2)

首先回答你的问题。让jQuery为您服务。它有.height()方法,它不仅会返回框的当前高度,还允许您设置它(例如$("#someID").height( 200 )

其次:CSS应该用于描述事物,而不是事物的属性。如果您想稍后返回并将元素的高度更改为700而不是900,该怎么办?你要么让他们误名,所以你有:

.height_900 {
     height: 700px;
}

- 或 - 您必须在使用它的任何地方更改类名。这违背了CSS的目的。

而是根据它应包含的内容命名您的类。类似于:.menuItem,允许任何人知道他们将更改菜单项的属性。

答案 3 :(得分:1)

这是使用parseInt()

的好方法
if(Stringname.substr(-3)==parseInt(Stringname.substr(-3)))
var b=Stringname.substr(-3);
else if(Stringname.substr(-2)==parseInt(Stringname.substr(-2)))
var b=Stringname.substr(-2);
else
var b=Stringname.substr(-1);

检查并给出正确答案并将其存储在变量b中,用于1位数字和最多3位数字。如果你有逻辑

,你可以成功

答案 4 :(得分:0)

迟到的答案,但如果你知道你需要的字符数,我use .slice() instead

"height_900".slice(-3);

这将为您提供字符串中的最后3个字符。

如果您希望结果为数字,则可以使用一元+运算符进行转换。

+("height_900".slice(-3));