我正在尝试使用jQuery将高度传递给colorbox。这样做,我认为定义高度的唯一方法是通过链接'class'。所以我想弄清楚如何从字符串中获取数字; e.g;
class =“height_900”;我希望它能得到数字'900'。
这可以用jQuery吗?
更多信息:好的..所以这就是我想要实现的目标。
我正在为彩盒创建一个Wordpress短代码(灯箱的变体)。 Colorbox通过jQuery设置它的高度和宽度。
Wordpress短代码包含属性“height”& 'width'允许用户根据需要手动设置。问题是,我无法找到将这些PHP变量传递给colorbox jQuery的方法。
我能想到的最好的解决方案是有一个类如下:height_ $ height;例如height_450。然后我想通过jQuery获取数字,然后将其用作特定颜色盒的高度。宽度相同。
答案 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));