Вопрос по jquery, javascript – Использование jQuery, чтобы увидеть, есть ли у div ребенок с определенным классом

89

У меня есть div#popup который динамически заполняется несколькими параграфами с классом.filled-text, Я пытаюсь заставить JQuery сообщить мне,#popup имеет один из этих пунктов в нем.

У меня есть этот код:

$("#text-field").keydown(function(event) {
    if($('#popup').has('p.filled-text')) {
        console.log("Found");
     }
});

Какие-либо предложения?

В то время я полагаю, что я специально искал ребенка, но это трудно вспомнить наверняка, так как этому вопросу почти 4 года. В любом случае вопрос и ответ охватывают как детей, так и потомков, и есть также ответы, которые конкретно касаются детей, а не потомков, поэтому я не уверен, к чему вы пытаетесь добраться. Samsquanch
Вы ищете только дляchild или для любогоdescendant (ребенок, внук, правнук и т. д.). Название вопроса в настоящее время гласит: «ребенок» но ответы, кажется, говорят о произвольных потомках. hippietrail
О, это просто то, что при использовании поисковой системы для поиска вопроса о поиске элемента с дочерним элементом, совпадающим с селектором, это тот, который он находит, поэтому я бы подправил заголовок вопроса, если он был неточным, чтобы помочь другим люди находят правильный вопрос в будущем. hippietrail

Ваш Ответ

4   ответа
1

Если это прямой ребенок, вы можете сделать, как показано ниже, если он может быть вложен глубже, удалите & gt;

$("#text-field").keydown(function(event) {
    if($('#popup>p.filled-text').length !== 0) {
        console.log("Found");
     }
});
29

EстьhasClass функция

if($('#popup p').hasClass('filled-text'))
162

Вы можете использоватьнаходить функция:

if($('#popup').find('p.filled-text').length !== 0)
   // Do Stuff
Error: User Rate Limit Exceededif($('#popup').has('p.filled-text').length != 0) {Error: User Rate Limit Exceeded Samsquanch
Error: User Rate Limit Exceededdeveloper.mozilla.org/en-US/docs/Glossary/Falsy
6

Использоватьдети функция jQuery.

$("#text-field").keydown(function(event) {
    if($('#popup').children('p.filled-text').length > 0) {
        console.log("Found");
     }
});

$.children('').length вернет количество дочерних элементов, которые соответствуют селектору.

Error: User Rate Limit Exceeded.lengthError: User Rate Limit Exceeded.length()
Error: User Rate Limit Exceeded.lengthError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
.size()Error: User Rate Limit Exceeded.lengthError: User Rate Limit Exceeded

Похожие вопросы