簡體   English   中英

JavaScript未定義變量從頁面類獲取價值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM