使用jQuery来查看一个div是否有一个具有某个类的子节点

我有一个div #popup ,它是用类.filled-textdynamic填充几个段落的。 我试图让jQuery告诉我,如果#popup有这些段落之一。

我有这个代码:

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

有什么build议么?

你可以使用find函数:

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

有一个hasClass函数

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

使用jQuery的儿童function。

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

$.children('').length将返回与select器匹配的子元素的数量。

简单的方法

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

如果它是一个直接的孩子,你可以做如下,如果它可以嵌套更深入删除>

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