2014-09-19 133 views
0

我有许多具有相同类的元素,并且我想检查它们中的某些是否具有特定的子元素,如果是,则将anb指定给该元素。如果元素包含子元素,则将类分配给元素

我尝试这样做:

if ($('li.first_li').find('ul.multi-menu')) alert('code'); 

而且它提醒它,这意味着它有一个匹配。

但是,我如何分配一个班级到li.first_li有这个孩子?以下不起作用。

if ($('li.first_li').find('ul.multi-menu')) $(this).addClass('code'); 

回答

3

您需要使用.has()方法。

将匹配元素的集合减少为具有匹配选择器或DOM元素的后代的元素。

使用

$('li.first_li').has('ul.multi-menu').addClass('code') 
+0

这是有趣的:)你都有在同一时间相同的答案:d – 2014-09-19 10:25:11

3

尝试使用.has()过滤器在此背景下,实现您的需要,

$('li.first_li').has('ul.multi-menu').addClass('code'); 
+0

这很有趣:)你们俩在同一时间有相同的答案:D – 2014-09-19 10:24:25

+1

@TolgaEvcimen不,我10秒落后.. :) – 2014-09-19 10:26:21

相关问题