在提取dom对象后,无法将每个名为tab的元素推送到数组中
unable to push each element that is named tab into an array after pulling the dom object
在开发人员工具中,它表明我能够提取所需的所有元素,但问题是我无法将它们推送到数组,数组保持为空。不幸的是,我不被允许使用jquery。我做了很多研究,却找不到我需要的东西。
/*
Author:Anthony Weed
Date:2/20/2015
Filename: menus.js
*/
window.addEventListener('load',setTabs);
var currentTab = null;
var maxZ = 1;
var i=0;
function setTabs(){
var menuTabs = [];
var allElements = document.getElementById('page').getElementsByTagName('*');
for(var i=0; i < allElements.length; i++){
if (allElements.children == 'LI.tab'){
menuTabs.push(allElements[i]);
}
else {
continue;
}
i++
}
console.log(allElements);
console.log(menuTabs);
}
试试这个:
for(var i=0; i < allElements.length; i++){
if (allElements.children == 'LI.tab'){
var newAryElement = allElements[1];
menuTabs.push(newAryElement);
}
i++
}
这可能无法解决您的问题,但我怀疑它会显示newAryElement本身是一个数组,然后您需要解析它。
您的问题是这一行:
if (allElements.children == 'LI.tab'){
allElements.children
引用了一些不存在的东西。allElements
是一个HTMLCollection,它有点像一个数组,但它是一个对象。
我有点不清楚你想做什么,所以我真的不能提供一种方法来实现这一点,但这肯定是问题所在。根据你想做的事情,你可能想引用这样的东西:
if (allElements.item(i).tagName == somethingHere ) {
这是getElementsByTagName()
的参考资料。
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用 KNOCKOUT.js 在禁用元素的 HTML 中保持 Tab 键顺序
- 在提取dom对象后,无法将每个名为tab的元素推送到数组中
- 如何使用 tab 函数和 jQuery 专注于列表元素
- 当键关闭事件(TAB 键)修改元素值时不触发更改事件
- 是否有一种方法可以通过编程触发TAB键将焦点移动到下一个可聚焦的元素
- 茉莉测试模拟tab键按下并检测新聚焦的元素
- bootstrap3-typeahead用TAB选择第一个元素
- 模拟Tab键按下回车键和按钮元素触发表单提交angularjs
- 使用tab键在Safari和Chrome中不工作的对话框元素内循环
- 引导nav nav-tab类在使用左浮动的元素旁边不能正确显示
- 我无法让jquery选项卡调用任何.tab元素
- 如何从TAB导航中跳过表单元素
- jQuery/JavaScript-在两个元素之间修剪空白/tab
- 力“Tab"在元素内移动- Jquery/Javascript
- 如何将事件绑定到tab Off元素
- 聚合物 v1.2.4 - 在背景元素的情况下,能够按 Tab/Shift-Tab 键切换到背景按钮