JavaScript未定义变量从页面类获取值

时间:2013-09-27 07:31:55

标签: 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”的页面仍然会返回“未定义”。

我看不出代码有什么问题,所以希望有人能看到问题或知道更好的方法吗?

2 个答案:

答案 0 :(得分:0)

我认为这一行

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;

答案 1 :(得分:0)

尝试使用innerHTML:http://jsfiddle.net/vDFpR/

for (var a = 0; a < priceEls.length; a++) {
    price = priceEls[a].innerHTML;
    i = 1000;
} 

可能与此有关:'innerText' works in IE, but not in Firefox