我接触到了我的项目,我决定简化一些js函数,我正在寻找DOM树中的父项,然后深入到元素中多次在一个功能。相反,我虽然我会做一个函数的实例,将保留一些数据,然后我可以轻松地引用和操作对象。我得到它的工作,但随着我一直在,我决定扩展功能,并添加一些额外的功能,如getElementsByClassNameThenTagName
。 我循环访问数组,并向数组添加匹配元素。 我注意到(可惜只有现在)我正在创建一个数组而不是HTML集合。作为结果,我不能通过输入buttons['reset'].disabled = false;
来引用我的发现中的对象。我可以通过buttons[3].disabled = false;
访问我的重置按钮,但这会造成很多不便。将JS数组与对象转换为HTML集合
因此,我正在寻找一种方法来将我的数组与对象转换为HTML集合。
请参考下面我目前的功能:
this.getElementsByClassNameThenTagName = function (elementClass, elementTag) {
if (parentNode == null) {
this.init();
}
var results = [];
var regexStr = elementClass;
var regex = new RegExp(regexStr);
var x = moduleNode.getElementsByClassName(elementClass);
// console.log(x);
var y;
for (var i = 0; i < x.length; i++) {
// console.log(i);
y = x[i].getElementsByTagName(elementTag);
// console.log(y);
for (var k=0; k<y.length; k++){
// console.log(y[k]);
results.push(y[k]);
}
// console.log(results);
}
return results;
};
任何建议吗?
谢谢。
你必须张贴必须有在那里一个点,你有一个HTML的收集和你把它变成一个传统的阵列'getElementsByClassNameThenTagName'代码,解决现在转换回 –
与代码遗憾的是代替。 – azgooon
我没有注意到nodelist是只读的,你可能只需要重新考虑一下你的设计。 –