2015-09-25 54 views
1

如果元素中的元素已经存在与此代码,如何防止重新发现元素?JQuery检查元素中是否存在追加元素,如果不附加到类但不是这

<div class='weekHourValue' data-nameDay='Tuesday' data-week='34' data-day='10' data-month='5' data-year='2015'><div class='singleYearEvent'></div></div> 
<div class='weekHourValue' data-nameDay='Tuesday' data-week='34' data-day='10' data-month='5' data-year='2016'></div> 

,现在我想somethink这样

$(".weekHourValue[data-month='5'][data-day='10'] {where not exist in element}").append("<div class='singleYearEvent'></div>");

是否有任何jQuery函数也是这样吗?谢谢!

+0

好像你应该能够使用jQuery选择让所有'weekHourValue'正确的日期和月份的元素,然后通过他们每个人的检查,看是否有其中一个通过过滤功能具有适当的子元素。 –

回答

2

你可以试试:

$(".weekHourValue[data-month='5'][data-day='10']").each(function(){ 
    if (!$(this).find(".singleYearEvent").length) 
     $(this).append("<div class='singleYearEvent'></div>"); 
}); 
+0

可以通过使用['.filter'](http://api.jquery.com/filter/)来改善吗? –

+0

并非如此,因为之后不需要迭代/操作已过滤的集合。 –

+0

好的,谢谢你,我认为JQuery有一些想法,比如'这里不在parrent' – koca79331