2013-09-27 47 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;'应该在元素中返回文本没有? –