jquery 判断内容是否存在 改变样式或class 循环遍历

<ul>
<li>
<div class="huizong">
<div class="pingyi" >我需要平移吗</div>
</div>
<div class="panduan">35</div>
</li>
<li>
<div class="L_listinner"> <a href="" target="_blank"> <img src="imgs/640-320.jpg" /> </a>
<div class="pingyi" >我需要平移吗</div>
</div>
<div class="panduan">0</div>
</li>
<li>
<div class="L_listinner">
<div class="pingyi" >我需要平移吗</div>
</div>
<div class="panduan"></div>
</li>
<li>
<div class="L_listinner"> <a href="" target="_blank"> <img src="imgs/640-320.jpg" /> </a>
<div class="pingyi" >我需要平移吗</div>
</div>
<div class="panduan"></div>
</li>
</ul>

代码如上,若panduan内是0或者为空,则pingyi 改变样式 margin-left:105px,否则 panduan 更改为display:none 或者更改class为undis ,若li中存在 img标签,则panduan 更改为display:none 或者更改class为undis,没有分了,求教~

$('.panduan').each(function(){
     var $this=$(this),
        prevPingyi=$this.prev().children('.pingyi');
     if($this.html()=='' || $this.html()=='0'){
         prevPingyi.css('margin-left','105px');
     }else{
         prevPingyi.addClass('undis');
     }
});


我猜你要改变的是与'panduan'对应的同一个父DIV内的'pingyi',以上代码放在文档最后执行,有问题请追问.

追问

有点小出入,调整了一下,正常了,不过这个,$this.prev().children中,存在 img标签,则panduan 更改为display:none 或者更改class为undis,这个代码中没有体现,应该怎么写呢

追答$(function(){
$('.panduan').each(function(){
 var $this=$(this),prevPingyi=$this.prev().children('.pingyi');
if($this.html()=='' || $this.html()=='0'){
prevPingyi.css('margin-left','105px');
}else{
prevPingyi.addClass('undis');
}
});
//以下是当li包含img标签时 隐藏对应的panduanDIV代码
$('li:has(img)').each(function(){
$(this).find('.panduan').addClass('undis');
});
});

sorry,之前没看清楚你要求,补上.

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答