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