我目前正在开发一个网站。使用JQuery中的.load()函数将标头加载到主“搜索”页面中。但是,当我尝试遍历页面中的[href]时,它无法找到它们,因为尚未将已加载的标题链接添加到DOM(可能)。
module.exports.handler = (event, context, callback) => {
let data = multipart.parse(event, false);
fs.writeFile('meme.webm', data.file.content, 'binary', function(err) {
if(err) {
console.log(err);
} else {
console.log('saved!');
}
});
// etc ...
};
这是我写的一个函数,用于向当前页面添加一个css类,但是这个循环不起作用,因为它无法在DOM上找到它们(.navLinks类被添加到加载的header.html文件中的所有链接) )。谢谢你的帮助!
function getCurrentPage(){
var count = 0;
$(".navLinks").each(function() {
count+=1
console.log('this.href' + this.href)
console.log('windowloc' + window.location.href)
if (this.href == window.location.href) {
$(this).addClass("active");
}
});
console.log('# of hrefs' + count)
}
这是在主搜索页面上添加并附加到ID为'header'的div的'header.html'文件。
答案 0 :(得分:0)
它无法找到它们,因为尚未将已加载的标题链接添加到DOM
.load()是异步的,并且有一个在完成后执行的回调,那就是你应该调用你的函数的地方:
$('#someDiv').load('someHtml.html', getCurrentPage);
请注意,您必须通过引用(不是()
)传递函数,否则它将在load()
完成之前执行。