0

如果我使用元素 id 执行此操作10_food_select

var id = $(sel).attr("id").split("_");

我得到一个这样的数组:

["10", "food", "select"] 

我想要的是 id = 10 (或任何第一个元素)。稍后我可以通过编写得到这个id[0],但是我如何简单地使 id 等于拆分数组的第一个元素的值,在第一个 var 声明中?

4

5 回答 5

4

[]几乎就像任何其他运营商一样。

var id = $(sel).attr("id").split("_")[0];

由于现在每个人似乎都在提供正则表达式,这是我的:

var id = +/[^_]*/.exec($(sel).prop("id"));

如果它是一个数字,你也可以这样做:

var id = parseInt($(sel).prop("id"), 10);

我认为这几乎涵盖了有用的单行。

于 2013-10-24T14:32:12.187 回答
2

不过另一种方式

var id = +($(sel).attr("id").replace(/_.+$/,''));
于 2013-10-24T14:37:34.373 回答
0

或者,如果您需要的只是拆分中的第一个,则可以使用正则表达式替换:

var id = sel.id.replace(/^([^_]+).*/, '$1')

注意:$(sel).attr('id')不需要。sel.id足够了。

于 2013-10-24T14:38:02.653 回答
0

你可以这样做:

var id = $(sel).attr("id").split("_")[0];  // returns 10 

这将立即为您提供正确的ID,甚至无需执行

var id = $(sel).attr("id").split("_");   // returns ["10", "food", "select"] 
id = id[0];                              // returns "10"
于 2013-10-24T14:32:32.970 回答
0

我想你正在寻找这个:

var id = $(sel).attr("id").split("_")[0];
于 2013-10-24T14:33:34.480 回答