如果我這樣做與元素的id 10_food_select
:如何在此var聲明中獲取此數組的第一個元素?
var id = $(sel).attr("id").split("_");
我得到一個數組是這樣的:
["10", "food", "select"]
我要的是ID = 10(或任何第一個元素是)。我稍後可以通過編寫id[0]
得到這個結果,但是在第一個var聲明中,我如何簡單地使id等於split數組的第一個元素的值?
如果我這樣做與元素的id 10_food_select
:如何在此var聲明中獲取此數組的第一個元素?
var id = $(sel).attr("id").split("_");
我得到一個數組是這樣的:
["10", "food", "select"]
我要的是ID = 10(或任何第一個元素是)。我稍後可以通過編寫id[0]
得到這個結果,但是在第一個var聲明中,我如何簡單地使id等於split數組的第一個元素的值?
你可以這樣做:
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];
既然大家都似乎是現在的提供的正則表達式,這裏是我的:
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
就足夠了。
簡單漂亮。 – Floris
太糟糕了,你得到了第一個答案,給了多個選項,並沒有得到「接受」。 – Floris