问题在于,每当我结合两个函数时:
- 获取网站HTML标签的所有ID
- 在数组中搜索“坏词”(例如“黑客”,“骇客”等)
代码1:
var eleng=document.documentElement.getElementsByTagName('*').length -1;
var i=0;
var id=[];
function allids() {
if (i < eleng) {
id.push(document.documentElement.getElementsByTagName('*')[i].id);
if (id[i] == '' || id[i] == ' ') {
i++;
allids();
} else {
console.log(id[i]);
i++;
allids();
}
} else {
console.log("\nDone!");
}
}
代码 2:
var str="HELLO";
var words=['hello','hack','hacker'];
var i=0;
function check() {
if (str.indexOf(words[i]) > -1 || str.indexOf(words[i].charAt(0).toUpperCase()) > -1 || str.indexOf(words[i].toUpperCase()) > -1) {
console.log('Word Found!');
} else {
if (i < words.length) {
i++;
check();
}
}
}
当然,Code 2已经尝试过放在一个新函数中,但是没有成功:( 而且它将被编辑以满足Code 1的需求,我只是不想重新编写脚本来适应该代码。我喜欢“另存为”,但如果不方便请告诉我。
附言:我正在使用VANILLA Javascript,这意味着没有像Jquery这样的花哨东西!
str
的实际值是什么?将这两个脚本组合在一起是什么意思? - Arun P Johnyvar allIds = document.querySelectorAll('[id]')
。这将获取页面上所有具有id
属性的元素。 - A1rPun