我有一個元素ID的DIV;例如「bgjhkn2n2-20」。我試圖正確地獲得正則表達式,以便可以根據ID將報表動態加載到div中。使用正則表達式/ Javascript獲取元素ID的組值使用正則表達式/ Javascript
console.log(elemID)按預期打印bgjhkn2n2-20。它不會打印通常以元素ID爲前綴的#號。 console.log(repDBID[0])
打印完整的元素ID;但是我不能用螢火蟲打印我在console.log(repDBID[0])
的regextester中從類似測試中得到的組。如果我追加一個索引號到匹配語句,它會返回null。
幫助?
var baseURL = window.location.protocol + "//" + window.location.hostname + "/db/";
var genREP = "?a=API_GenResultsTable&qid=";
$('#tab1 div').each(function (e){
var elemID = this.getAttribute('id');
console.log(elemID);
var pattern=/([a-z0-9]{9})-([1-9]{1}[0-9]*)/g
var repDBID = elemID.match(pattern); //get dbid
console.log(repDBID[0]);
var repID = elemID.match(pattern)[2]; //get qid
//console.log(repID);
//$(this).load(baseURL+repDBID+genREP+repID);
$('#repTabs').tab(); //initialize tabs
});
什麼是你的問題? id值沒有'#'。這只是爲了告訴一個CSS選擇器引擎,你正在尋找一個id值。它實際上並不存在於id值中。 – jfriend00
好吧;當使用http://www.regextester.com/或rubular.com進行測試時;我得到了三組正則表達式模式匹配。組0 - 整個ID(如果它符合模式)。第1組 - 最初的9個字符的字母數字組。和第2組 - 連字符後的剩餘數字。我如何分別訪問這些組並使用它們來創建url(請參閱代碼)? – kevins