0
我試圖在通過inner-h-t-m-l加載的文本中檢索各種元素上的屬性,但是我無法獲得僅僅一個特定元素。聚合物使用getElementsby#方法在內部-h-t-m-l
這裏是我的代碼:
<template>
<iron-ajax
auto
url="[[some/path/url.html]]"
handle-as="text"
last-response="{{inputText}}"></iron-ajax>
<div class="textcontent" inner-h-t-m-l="{{inputText}}"></div>
</template>
<script>
Polymer({
is: 'text-page',
ready: function() {
var test = document.getElementsByClassName("author");
console.log(test);
}
});
</script>
所以我對這個兩個問題:
- 這是一個html頁面加載到聚合物元件的最佳方式?
- 所述的console.log的輸出是一個數組,看起來像這樣:
HTMLCollection[0] 0: span.author 1: span.author 2: span.author length: 3 __proto__: HTMLCollection
這是正確的,有與類名「作者」 3個元素。但是,當我用console.log(test[0])
做同樣的事情,以獲得第一個,我得到"undefined"
作爲輸出。我怎樣才能得到第一個,更重要的是,這個價值span
?
如果我使用'Array.from'它給我回一個空數組。如果我在上面的代碼中使用了'console.log(test.length)',它也會讓我回到'0'。 – Vims
下面是一個工作示例(儘管沒有'iron-ajax'),請打開控制檯查看結果:https://jsfiddle.net/uq34vk2z/ – LasaleFamine
謝謝!這工作沒有鐵ajax,但當我添加如果失敗的鐵ajax。經過一番搜索之後,我發現它一定是因爲函數在文本加載之前被調用,所以'first'是'undefined'。所以我添加了一個'if(first!== undefined)',然後它工作得很好。 – Vims