2017-05-02 45 views
-1

在Polymer中,我需要找到所有帶有某些類名的<a>,並將它們的ID添加爲innerHTML,但我似乎無法弄清楚。類名稱在外部json文件中,通過iron-ajax加載。如何在JS迭代中定義querySelectorAll

現在我有這樣的功能:

Polymer({ 
    is: 'settings-menu', 
    properties: { 
      paragraphTitles: { 
       type: Object, 
       notify: true, 
       value: function(){return []} 
      }, 
      selectedParagraph: { 
       type: String, 
       computed: "_computePar(paragraphTitles)" 
      } 
    }, 
    _computePar: function(paragraphTitles) { 
    for (var key in paragraphTitles) { 
      var refs = document.querySelectorAll('a.',key); 
      refs.forEach(item => item.innerHTML = item.id); 
    } 
    }, 

加載到paragraphTitles JSON文件看起來是這樣的:

{ 
     "as": "Page numbers in Author1, 1972.", 
     "adh-v": "Paragraph numbers in Some Other Author 1978", 
     "apz": "Paragraph numbers in Author 3", 
     "cps": "Paragraph numbers in Author 4, 1952-62", 
} 

爲querySelectorAll搜索字符串顯然是錯誤的,但如何我輸入正確的搜索字符串?

+1

你是不是指''a。' +鑰匙? –

+0

是的,例如它需要通過json文件搜索'a.as','a.adh-v','a.apz'等。所有這些''都帶有這些特定的類,沒有其他類。 – Vims

+1

他建議你用'var refs = document.querySelectorAll('a。'+ key)'替換'var refs = document.querySelectorAll('a。',key);'' –

回答

1

其實不知道你想要存檔什麼,請張貼一些更多的信息。但是,你的代碼最明顯的錯誤是,

document.querySelectorAll() 

最好不要使用,因爲這會打破陰影大教堂。相反使用

Polymer.dom(this).querySelectorAll()