我需要選擇兩個不同導航面板中的所有錨點元素。最好的方法是什麼?有效的& /或有效的。選項1:我可以設置每個導航到一個類,尋找類,抓住每個div中的所有錨與該類。Javascript:來自兩個Div ID的元素
選項2:我可以用一個ID設置每個導航。出於某種原因,我無法從每個div id中將兩個錨點數組連接起來。任何想法爲什麼,他們是陣列?防爆。
<code>
var nav = document.getElementById("nav").getElementsByTagName("a");
var subnav = document.getElementById("subnav").getElementsByTagName("a");
var allnav = nav.concat(subnav); // Didn't seem to work
// neither did this. Just seemed to break.
for(var i=0;i<subnav.length;i++){
nav.push(subnav[i]);
}
</code>
選項3:通過ID獲取每個div。發送函數以循環,獲取錨點並執行適當的操作。
哪個會更快或使用更少的資源,& /或您認爲哪個更易於維護?
我知道jQuery有一個很好的方法,但由於我的代碼片段很短,我不希望只爲一些小函數添加整個庫。
謝謝你的幫助!
不要將本機對象當作本地對象,並且不要使用* for..in *,因爲NodeLists已命名不適合複製到Array的屬性(如* item *方法)。迭代使用for循環和計數器。 – RobG
這就是我所見過的將NodeList轉換爲Array的最奇怪的方式。實際上,我敢肯定它不會工作,但是如果將'var arr = [];'更改爲'var arr = Array(obj.length);'... –
@ alpha123爲什麼會這樣工作? – Raynos