使用jQuery查看div是否有具有特定类的子元素

时间:2022-06-21 19:42:11

I have a div #popup that is dynamically filled with several paragraphs with the class .filled-text. I'm trying to get jQuery to tell me if #popup has one of these paragraphs in it.

我有一个div #弹出窗口,它动态地用.filled-text类填充了几个段落。我想让jQuery告诉我,如果#popup有其中的一个段落。

I have this code:

我有这段代码:

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

Any suggestions?

有什么建议吗?

5 个解决方案

#1


141  

You can use the find function:

您可以使用查找函数:

if($('#popup').find('p.filled-text').length !== 0)
   // Do Stuff

#2


29  

There is a hasClass function

有一个hasClass函数

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

#3


5  

Use the children funcion of jQuery.

使用jQuery儿童函数。

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

$.children('').length will return the count of child elements which match the selector.

定格美元(”)。length将返回匹配选择器的子元素的计数。

#4


2  

Simple Way

简单的方法

if ($('#text-field > p.filled-text').length != 0)

#5


1  

If it's a direct child you can do as below if it could be nested deeper remove the >

如果它是一个直接子元素,您可以做如下操作,如果它可以嵌套得更深,则删除>

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

#1


141  

You can use the find function:

您可以使用查找函数:

if($('#popup').find('p.filled-text').length !== 0)
   // Do Stuff

#2


29  

There is a hasClass function

有一个hasClass函数

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

#3


5  

Use the children funcion of jQuery.

使用jQuery儿童函数。

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

$.children('').length will return the count of child elements which match the selector.

定格美元(”)。length将返回匹配选择器的子元素的计数。

#4


2  

Simple Way

简单的方法

if ($('#text-field > p.filled-text').length != 0)

#5


1  

If it's a direct child you can do as below if it could be nested deeper remove the >

如果它是一个直接子元素,您可以做如下操作,如果它可以嵌套得更深,则删除>

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