gpt4 book ai didi

javascript - 无法从 jquery 函数中访问 javascript 类

转载 作者:行者123 更新时间:2023-11-28 20:40:06 26 4
gpt4 key购买 nike

我在 javascript 类中有这个函数:

this.checkSections = function(){
jQuery('#droppable #section').each( function() {
nextId = jQuery(this).next().attr('id');
if (nextId != 'small' && nextId != 'large'){
jQuery(this).remove();
this.sections --;
this.followArticles = 0;
}else{
articles = 0;
obj = jQuery(this).next();
while (nextId == 'small' || nextId == 'large'){
articles++;
obj = obj.next()
nextId = obj.attr('id');
//alert(nextId);
}
this.followArticles = articles;
alert(this.sections);
}
});
}

alert(this.sections);(最后几行)给出了undefined的输出,尽管sections已被定义和使用。

可能是什么问题?

最佳答案

this 始终是局部变量,因此它在每个函数中都会被覆盖。

您可能会做的是指向您的类(class),例如var myClass = this; 并使用 myClass 而不是 this

 this.checkSections = function(){

var myClass = this;

jQuery('#droppable #section').each( function() {
nextId = jQuery(this).next().attr('id');
if (nextId != 'small' && nextId != 'large'){
jQuery(this).remove();
myClass.sections --;
myClass.followArticles = 0;
}else{
articles = 0;
obj = jQuery(this).next();
while (nextId == 'small' || nextId == 'large'){
articles++;
obj = obj.next()
nextId = obj.attr('id');
//alert(nextId);
}
myClass.followArticles = articles;
alert(myClass .sections);
}
});
}

关于javascript - 无法从 jquery 函数中访问 javascript 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14562471/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com