gpt4 book ai didi

javascript - 无法调用未定义的方法 'find'

转载 作者:行者123 更新时间:2023-11-28 11:12:44 25 4
gpt4 key购买 nike

我正在尝试使用 jQuery 代码中的对象。

我几乎做到了:

var opts = {
ul: $(this).find('.carousel'),
li: ul.find('li')
}

li 属性给出错误无法调用未定义的“find”方法

如何解决?

最佳答案

无论您的选择器是什么,您都无法在声明对象时访问其属性。

为什么要声明ul?您正在 opts 对象上创建属性 ul

丑陋:

您可能想要的是:

var opts = {
ul: $(this).find('.carousel')
}
opts.li = opts.ul.find('li');

但是如果您实际上不需要引用这两个组,那么:

清洁工:
var opts = {
li: $(this).find('.carousel li')
}

同样好。

最干净:

你还可以这样做:

var $carousel = $(this).find('.carousel');
var options = {
carousel: $carousel,
carouselItems: $carousel.find('li')
}

太糟糕了,但这是你自找的:

var CarouselOptions = (function () {
var options = function (carousel) {
this.carousel = $(carousel);
this.carouselItems = this.carousel.find('li');
};

options.prototype.myOptionsFunction = function () {
// Don't know what you want your object to do, but you wanted a prototype...
};

return options;
})();
var opts = new CarouselOptions($(this).find('.carousel'));

还有

(请注意您的 this 是什么,大概页面上有多个 .carousel 元素,而这里您需要目标内的元素一个事件。)

关于javascript - 无法调用未定义的方法 'find',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18322063/

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