2013-09-27 50 views
0

我有一個書籤,它從用戶當前所在的頁面獲取一些信息,然後保存到那裏帳戶。 信息的這種和平就是他們可能看到的物品的價格。抓住從頁面的價格,我有以下的javascript: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); 

價格陣列是基於尋找一些常見的知名網站,哪些類的名字,他們給出的價格放入區域。 甚至在添加到表單時,例如具有價格類名稱的頁面上的變量'price'仍然會返回'undefined'。

我不能看到代碼的任何錯誤,所以希望有人能看到問題或知道更好的方法?

回答

0

我覺得這條線

var priceEls = document.getElementsByClassName(prices[i]); 
// taking an instance of this inside the loop 
var priceEls = document.getElementsByClassName('price'); 

現在我不明白你的innerloop

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; 
+1

'價格= priceEls [A] .innerText;'應該在元素中返回文本沒有? –