/ / Użyj metody jQuery dla właściwości obiektu - javascript, jquery, object

Użyj metody jQuery dla właściwości obiektu - javascript, jquery, object

Próbuję użyć funkcji jQuery na właściwość mojego obiektu js, ale daje mi błąd "Uncaught TypeError: Cannot read property "jquery" of undefined". Oto przykładowy kod:

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

Nie bardzo jestem pewien, co tu robić, każda pomoc byłaby świetna

Odpowiedzi:

1 dla odpowiedzi № 1

Aby użyć jQuery, musisz użyć przestrzeni nazw udostępnianej przez jQuery. tj. - jQuery lub $, które są podane z jQuery. Możesz również utworzyć własną przestrzeń nazw za pomocą jQuery.noConflict ().

Jeśli użyjesz ich, to tylko jQuery będzie wiedzieć, że próbujesz uzyskać dostęp do swoich metod z ich obiektami. Coś takiego jak $ (this) lub $ ("yourselector").

Dzięki powyższym możesz użyć

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

Mam nadzieję, że to pomoże.

Happy Learning :)


2 dla odpowiedzi nr 2

Aby włączyć funkcje jquery, musisz użyć $(this) raczej niż po prostu this. Bez używania $(this), nie będziesz mógł użyć żadnego jquery na tym obiekcie.


2 dla odpowiedzi nr 3

powinieneś zawinąć this w jquery:

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