隐藏跨度,如果相关的div有img src“”

时间:2013-03-15 08:47:17

标签: jquery if-statement image src

我在这里是一只新的蜜蜂......我一直在与jquery斗争一段时间。 (在我的学习曲线中)

这就是我想要做的事情:

我正在使用如下列表:

<ul>
<li class="li-listb"><span id="banner1">Banner I</span></li>   
<li class="li-listb"><span id="banner2">Banner II</span></li>           
</ul>

并使用Jquery

<script>
$(function () {

// Make the divs have equal heights
var h1 = $("#div1").height();
var h2 = $("#div2").height();
$("#div1,#div2").height(Math.max(h1, h2));

// Then hide the second div
$("#div2").hide();

// Then add a click handlers to the buttons
$("#banner1").click(function () {
    $("#div1").show();
    $("#div2").hide();
});
$("#banner2").click(function () {
    $("#div1").hide();
    $("#div2").show();
});
})</script>

我将范围链接到下面的div

<div class="workspace">
<div id="div1">
<img src="http://weareunio.com/unio/wp-content/uploads/2013/02/728x901.jpg"/>
</div>
<div id="div2">
<img src=""/>
</div>
</div>

当div2 img src =“”为空时,我想隐藏Span#banner2。

感谢任何帮助!

谢谢, 什里

http://jsfiddle.net/Yx5hu/

2 个答案:

答案 0 :(得分:1)

尝试:

$("ul li").each(function(index){
 if($('#div'+ (index+1) + ' img' ).attr('src') == "")
    $(this).hide()
});

<强> Sample

这适用于任意数量的lidiv,只要他们的ID符合

答案 1 :(得分:0)

检查以下代码

<ul>
   <li class="li-listb"><span id="banner1">Banner I</span></li>   
   <li class="li-listb"><span id="banner2">Banner II</span></li>           
</ul>
<div class="workspace">
 <div id="div1">
   <img src="http://weareunio.com/unio/wp-content/uploads/2013/02/728x901.jpg"/>
 </div>
<div id="div2">
   <img src=""/>
</div>

和javascript

$("div.workspace div").each(function(index){    
var src = $(this).find("img").attr("src");
var n = ($(this).attr("id")).substring(3);
if(src == "")
{
    var bnrID = "#banner"+n;
    $(bnrID).hide();
}
});