/ / Використовуйте метод jQuery у властивості об'єкта - javascript, jquery, object

Використовуйте метод jQuery для властивості об'єкта - javascript, jquery, object

Я намагаюся використовувати функцію jQuery у властивості мого об'єкта js, але це дає мені помилку "Uncaught TypeError: Cannot read property "jquery" of undefined". Ось приклад коду:

var foo = {
bar: $("#element"),
baz: this.bar.find("#childelement"), // <- jQuery .find() not working
hideBaz: function() {
this.baz.hide();
}
}

Не дуже впевнений, що тут робити, будь-яка допомога була б чудовою

Відповіді:

1 для відповіді № 1

Для використання jQuery потрібно використовувати простір імен, наданий jQuery. тобто - або jQuery, або $, які надаються з jQuery. Ви також можете створити власний простір імен, використовуючи jQuery.noConflict ().

Якщо ви використовуєте їх, то лише jQuery дізнається, що ви намагаєтеся отримати доступ до його методів своїми об'єктами. Щось на зразок $ (це) або $ ("ваш вибір").

Тож із вищезазначеним можна використовувати

var foo = {
bar: $("#selector"),
baz: $(this).bar.find("#childSelector"),
hideBaz: function() {
this.baz.hide();
}
}

Сподіваюсь, це допоможе.

Щасливе навчання :)


2 для відповіді № 2

Щоб увімкнути функціонал jquery, ви повинні використовувати $(this) а не просто this. Без використання $(this), ви не зможете використовувати жоден jquery на цьому об'єкті.


2 для відповіді № 3

вам слід загорнути this у jquery:

var foo = {
bar: $("#element"),
baz: $(this).bar.find("#childelement"),
hideBaz: function() {
this.baz.hide();
}
}