求JS判断代码,当这个DIV里有某个图片时,便隐藏这个DIV 5

求JS判断,当这个DIV里有某个图片时,便隐藏这个DIV比如:页面中有多个haoimg的class,代码如下:<divclass="haoimg"><ahref="1.h... 求JS判断,当这个DIV里有某个图片时,便隐藏这个DIV
比如:
页面中有多个haoimg的class,代码如下:
<div class="haoimg"><a href="1.html"><img src="to.gif" align="absmiddle" height="160" border="0"/></a></div>
<div class="haoimg"><a href="1.html"><img src="别的图片.jpg" align="absmiddle" height="160" border="0"/></a></div>

以上代码中,当这个class里有图片to.gif时,这个class就隐藏。反之如果是别的图片就正常显示。
展开
 我来答
绛紫方糖
2013-10-10 · TA获得超过742个赞
知道小有建树答主
回答量:197
采纳率:0%
帮助的人:231万
展开全部

用jquery的话其实很好做,只要判断是否有src="to.gif"的img元素就可以了,难点在于捕获事件。

操作如下

function judgeImg() {
    var img = $("haoimg").find("img[src='to.gif']");  // 寄存选择
    if (img.length > 0) {  // 判断是否存在该图片
        img.parent().hide();
    }
}

你这里的难点其实是事件的捕获,你先要确定“到底什么时候,会出现这个img”

例如说某个按钮的点击后,或者某个效果后。

如果实在是不确定到底什么时候会出现,那就只能用DOMSubtreeModified 事件了,通过绑定document的这个事件,就可以在每次你document下的元素发生变化时进行判断了

$(function() {
    $(document).on('DOMSubtreeModified', function() {
        judgeImg();
    })
})

这样很明显会影响效率,所以建议你先确定出现的事件

如果不用jquery的话也能办到,不过稍微复杂些

追问
谢谢,我的要求很简单,不需要确定到底什么时候出现这个to.gif的img,

请问代码应该如何写?谢谢
追答
既然不确定的话,就只能在DOMSubtreeModified事件中进行处理了。
按照我给你的示例,是肯定可以实现的,不过这样子因为节点一发生变化就需要判断一次,肯定会影响效率(不过如果前端不是很复杂,基本上是完全察觉不出来的)。

但是建议你还是重新设计下,因为结构设计合理了,肯定是能确定相应的事件的
sinqenet
2013-10-11 · 超过13用户采纳过TA的回答
知道答主
回答量:65
采纳率:100%
帮助的人:28.1万
展开全部
  $(".hoimg").each(function(){
  if($(this).find("img[src='to.gif']")[0]){
            $(this).hide();
  }else{ 
$(this).show();
}
  });
追问
也不管用啊

比如,我排列几个上面的代码:
加上JQ库,再加你这段,那图片以及它所在DIV还是显示啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式