[英]JavaScript undefined variable getting value from page class
我有一個小書簽,它從用戶當前所在的頁面上獲取一些信息,然后將其保存到該帳戶中。 這樣的信息和平就是他們可能正在看的物品的價格。 為了從頁面上獲取價格,我使用以下javascript:
input = this.createInput("price", "hidden");
var prices=new Array("price","kfs-price","pricesize","salesprice","money","ourPrice","product-price","memo_fp_prix_final"
,"atrPrice","product_price");
var price = 0;
for (var i = 0; i < prices.length; i++){
var priceEls = document.getElementsByClassName(prices[i]);
for (var a = 0; a < priceEls.length; a++) {
price = priceEls[a].innerText;
i = 1000;
}
}
input.setAttribute("value", price);
this.form.appendChild(input);
價格數組基於對一些常見的知名站點的了解,以及它們給出的價格所在區域的類名稱。 例如,在具有價格類名稱的頁面上,即使添加到表單中的變量“價格”,如何返回“未定義”。
我看不到代碼有什么問題,所以希望有人能看到問題或知道更好的方法嗎?
我認為這條線
var priceEls = document.getElementsByClassName(prices[i]);
// taking an instance of this inside the loop
var priceEls = document.getElementsByClassName('price');
現在我不明白你的內在循環
for (var a = 0; a < priceEls.length; a++) {
price = priceEls[a].innerText;
i = 1000;
}
priceEls is giving you an element only
這條線在做什么
//price = priceEls[a].innerText;
嘗試使用innerHTML: http : //jsfiddle.net/vDFpR/
for (var a = 0; a < priceEls.length; a++) {
price = priceEls[a].innerHTML;
i = 1000;
}
可能與此有關: 'innerText'在IE中有效,但在Firefox中不可用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.