понимание проблемы toggleClass и селектор jquery - PullRequest
0 голосов
/ 16 декабря 2018

Это моя функция getLiveSearchUsers в моем файле JS, я не могу ее понять, может кто-нибудь помочь мне, пожалуйста.я не могу понять селектор [0] и что здесь делает toggleClass?

$.post("includes/handlers/ajax_search.php", {query:value, userLoggedIn: user}, function(data) {

    if($(".search_results_footer_empty")[0]) {
        $(".search_results_footer_empty").toggleClass("search_results_footer");
        $(".search_results_footer_empty").toggleClass("search_results_footer_empty");
    }

    $('.search_results').html(data);
    $('.search_results_footer').html("<a href='search.php?q=" + value + "'>See All Results</a>");

    if(data == "") {
        $('.search_results_footer').html("");
        $('.search_results_footer').toggleClass("search_results_footer_empty");
        $('.search_results_footer').toggleClass("search_results_footer");
    }else {
console.log("data is not empty. data is '" + data + "'");

}

Ниже приведена HTML-часть.

        <div class="search_results">
        </div>

        <div class="search_results_footer_empty">
        </div>

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Когда вы выбираете элементы с помощью селектора jQuery $('.element'), вы можете ссылаться на все элементы jQuery, которые соответствуют селектору, и на массив элементов HTML, как если бы вы обращались к ним с помощью document.querySelector('element').

.Разница между доступом к элементу jQuery и элементу HTML заключается в том, что:

  1. вы не можете использовать функции jQuery для элемента HTML
  2. , чтобы получить доступ к элементу HTML из селектора jQuery, который вы используете$('.element')[i] с i, являющимся n-м элементом массива элементов HTML.

О функции toggleClass, проверке ответа tomerpacific или проверке jQuery документы .

0 голосов
/ 16 декабря 2018

Метод .toggleClass в основном удаляет или добавляет класс к элементу html.В вашем случае это элемент с классом .search_results_footer .

Что касается селектора [0], я предполагаю, что вы ссылаетесь:

$ (". search_results_footer_empty") [0]

Это в основном означает, что сам объект находится в массиве, а сам код ссылается на первый элемент в массиве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...