假设我有以下HTML
<div class="news_item">
<div class="news_content">Some Content Here...</div>
<img src="something.jpg" />
</div>
我有以下JQuery代码;这假设计算特定DIV中有多少IMG元素,如果有 no IMG元素,则更改DIV.news_content的CSS。
$('div.news_item').each(function() {
if ($('img', this).length == 0) {
$('div.news_content', this).css('background-color', '#cccccc');
}
});
然而$('img',this).length似乎在每个函数内都不起作用。
答案 0 :(得分:1)
尝试$(this).find('img').length
答案 1 :(得分:1)
听起来它有效,但是这里有一些替代代码可以过滤掉img孩子的任何div。
$('div.news_item').not(function(index){return $(this).find('img').length > 0;}).each(function(index, elem){
$(this).css('background-color', '#cccccc');
});
答案 2 :(得分:0)
你的代码很好。确保没有无效的HTML或看起来不正确并在兄弟元素中发现图像。