Как использовать, если на определенной строке - PullRequest
0 голосов
/ 02 января 2019

Я хочу использовать оператор if, чтобы увидеть, что в нем что-то скрыто.Имя класса div - ".title-button", и я хочу использовать его в javascript или jquery if {.title-button = "Hidden"){...}, но оно не работает.

Это для моего стороннего проекта.Я исследовал его много раз, но ничего не могу найти

if(".title-button" = "hidden"){
}

- это единственный код, который у меня есть, но он не работает.

Мой ожидаемый результат - возможность проверитьстрока в классе, я не получаю фактический результат.

Ответы [ 3 ]

0 голосов
/ 02 января 2019

Если вы пытаетесь проверить, имеет ли элемент текст из hidden, то это будет что-то вроде.

if ($('.title-button').text() === 'hidden') {
  console.log('yes');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="title-button">hidden</div>

Существуют различные проблемы с вашей первоначальной попыткой:

if(".title-button" = "hidden"){}

1) Вы не ищите элемент

".title-button" это просто строка. Это не поиск элементов. Чтобы использовать jQuery для поиска элемента, вы должны использовать $(".title-button").

2) = - это задание

Назначение предназначено для использования с переменными (например, var x = 3), а не для сравнения. Сравнения выполняются с == или ===, второй тип не выполняет приведение типа.

0 голосов
/ 02 января 2019

Если вы пытаетесь найти текст «скрытый» в содержимом элементов div, например,

 <div class="title-button">I am hidden</div>

If(document.querySelector(".title-button").innerHTML.indexOf("hidden") != -1){
    //Your statement goes here
    }

Если вы пытаетесь найти, что элемент div имеет класс «hidden» в своем списке классов, то есть два сценария:

1) Если у вас есть несколько классов на элементе div. Например,

<div class="title-button class2 class3"></div>

If(document.querySelector(".title-button").className.indexOf("hidden") != -1){
//Your statement goes here
}

2) Если у вас есть только один класс следующим образом,

<div class="title-button"></div>

If(document.querySelector(".title-button").className == "hidden"){
//Your statement goes here
}
0 голосов
/ 02 января 2019

Ваш текущий код говорит: «установите строку .title-button равной строке hidden и, если это значение истинно (т. Е. Истинно, ненулевое число, непустая строка и т. Д.), То сделайте что-нибудь». Это бессмысленно. Итак, давайте сделаем это шаг за шагом.

"Мой ожидаемый результат - возможность проверить строку в классе."

Что такое "строка в классе"? Имя класса - это строка, которая просто указывает группу, к которой принадлежит элемент. Если вы пытаетесь проверить, есть ли у элемента, который имеет класс title-button , также класс hidden, то вам нужно сначала получить элемент, а не только его имя класса. и проверьте все его классы для класса hidden. С помощью jQuery вы можете получить элемент из одного из его классов, используя $('.class-name'), поэтому в этом случае $('.title-button'). Затем вы можете проверить, есть ли у него определенный класс, используя .hasClass('new-class-name) method. So if ($ ('. Title-button'). HasClass ('hidden')) {`- это условие, которое вы хотите проверить.

Если вместо этого вы пытаетесь проверить, содержит ли содержимое элемента строку «скрытый», то вам сначала нужно получить содержимое, а затем проверить, содержит ли оно то, что вы хотите. Вы можете сделать это несколькими способами, но вот только один: if ($('.title-button').html().indexOf('hidden') >= 0) { (Для справки, другие методы вместо использования indexOf будут .includes и .match; вы также можете использовать .test, хотя это имеет другой синтаксис так как Регулярное Выражение на первом месте, поэтому я не показывал его здесь.)

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