如果我使用元素 id 执行此操作10_food_select
:
var id = $(sel).attr("id").split("_");
我得到一个这样的数组:
["10", "food", "select"]
我想要的是 id = 10 (或任何第一个元素)。稍后我可以通过编写得到这个id[0]
,但是我如何简单地使 id 等于拆分数组的第一个元素的值,在第一个 var 声明中?
如果我使用元素 id 执行此操作10_food_select
:
var id = $(sel).attr("id").split("_");
我得到一个这样的数组:
["10", "food", "select"]
我想要的是 id = 10 (或任何第一个元素)。稍后我可以通过编写得到这个id[0]
,但是我如何简单地使 id 等于拆分数组的第一个元素的值,在第一个 var 声明中?
[]
几乎就像任何其他运营商一样。
var id = $(sel).attr("id").split("_")[0];
由于现在每个人似乎都在提供正则表达式,这是我的:
var id = +/[^_]*/.exec($(sel).prop("id"));
如果它是一个数字,你也可以这样做:
var id = parseInt($(sel).prop("id"), 10);
我认为这几乎涵盖了有用的单行。
不过另一种方式
var id = +($(sel).attr("id").replace(/_.+$/,''));
或者,如果您需要的只是拆分中的第一个,则可以使用正则表达式替换:
var id = sel.id.replace(/^([^_]+).*/, '$1')
注意:$(sel).attr('id')
不需要。sel.id
足够了。
你可以这样做:
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"
我想你正在寻找这个:
var id = $(sel).attr("id").split("_")[0];