使用正则表达式或javascript

时间:2015-12-15 15:50:54

标签: javascript regex

我有一个ID包含第一个静态部分和第二个动态值的组件,如下所示:

<div id="smallPlacardone">

其中:smallPlacard是静态的,one是使用变量传递的。

稍后在我的代码中,我想使用ID的动态部分,即one,而不是第一个静态部分smallPlacard,如下所示:

var clicked = $(this).parent().attr("id");
$("#right"+clicked+"").show();

最好的方法是什么?

2 个答案:

答案 0 :(得分:2)

如果“smallPlacard”是静态的,那么您可以使用replace方法删除它:

var clicked = $(this).parent().attr("id").replace(/smallPlacard/, '');
$("#right" + clicked).show();

答案 1 :(得分:2)

我建议使用分隔符字符和split()。它更容易阅读并完全避免正则表达式:

<div id="smallPlacard_one">

var clicked = $(this).parent().attr("id").split("_")[1];
$("#right_" + clicked).show();

或者像这样的东西,它更灵活,因为它不依赖于隐藏的约定:

<div id="smallPlacard_one" data-show="#right_one">

var selector = $(this).data("show")
$(selector).show();