中訪問getElementsByClassName中的元素我碰到一個我們已經構建的js插件(https://github.com/geibi/pictureserve)中的問題 - 將加載DOM,其img元素和getElementsByClassName函數關聯起來。一個簡單的例子:如何在<head>
內我們稱之爲document.getElementsByClassName與類.pserve:
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head>
<script>
elements = document.getElementsByClassName("pserve");
console.log(elements);
</script>
的HTML體內部,我們有在本例四個IMG元素:
<img class="pserve" />
<img class="pserve" />
<img class="pserve" />
<img class="pserve" />
的控制檯返回以下內容:
[item: function]
0: img.pserve
1: img.pserve
2: img.pserve
3: img.pserve
但是,如果您嘗試獲取len元素數組的GTH你得到零結果:
<head>
<script>
elements = document.getElementsByClassName("pserve");
console.log(elements.length);
</script>
==> returning value for the console.log is 0 ==> wrong
如果將控制檯呼叫</body>
然後你就在接近正確的返回值4
<script>
elements = document.getElementsByClassName("pserve");
console.log(elements.length);
</script>
</body>
==> returning value for the console.log is 4 ==> right
所以問題是:
- 是否有可能,如果是的話如何訪問通過getElementsByClassName內的「元素」,或者是否有另一個必要的js功能或更好的適合。
- 帶有四個條目的[item:function]的返回輸出看起來很奇怪。有沒有其他方法可以訪問這些元素?例如通過函數調用還是回調?
Cheers r。
你必須有這樣一個DOM就緒狀態 - 因此處理程序添加到窗口的Load事件。 –
有了jQuery,你可以使用文檔就緒功能 – user2718671
有一件事讓我困惑。你如何編寫儘可能多的JavaScript到目前爲止在該插件中,但是你不知道在DOM中工作的一些基本方面? –