我想查看NewEgg產品ID的格式,所以從他們的主頁我嘗試運行以下腳本將所有鏈接產品的ID吐出到控制檯:變量未定義用於某些用途,爲其他人定義
for (var i=0;i<document.links.length;i++) {
if (document.links[i].href.indexOf("Product.aspx")!=-1) {
var itemNo=document.links[i].href.split("Item=")[1];
console.log(itemNo);
}
}
(正如你所看到的,產品鏈接有「Product.aspx」在其中,隨後?Item=[itemid]
。簡單split
?Item=
後獲得的部分)。這個腳本工作正常。但是,當我試圖獲得「fancier」時,我開始收到錯誤消息itemNo
未定義。這是我試過的腳本:
for (var i=0;i<document.links.length;i++) {
if (document.links[i].href.indexOf("Product.aspx")!=-1) {
var itemNo=document.links[i].href.split("Item=")[1];'
if (itemNo.charAt(0)=="N") {//look at only IDs that start with 'N'
console.log(itemNo);
}
}
}
該報道稱,貨號在第二if
聲明(在第四行內if
以上)不確定的。註釋掉if
聲明(第4行和第6行)使其再次正常工作。所以基本上,我可以登錄它,但我不能if
它。在日誌記錄之前,我還嘗試了一些更多的字符串處理來代替if
,但在定義了itemNo
的行之後,除了記錄日誌之外,我無能爲力。我試圖改變變量名稱無濟於事。無可否認,這是來自Firebug控制檯(也嘗試過Firefox的本機Scratchpad),所以環境有點不同,但我沒有看到爲什麼有時應該定義變量,但沒有定義其他時間。
工作非常出色,非常感謝! –