求JS判断代码,当这个DIV里有某个图片时,便隐藏这个DIV
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求JS判断代码,当这个DIV里有某个图片时,便隐藏这个DIV相关的知识,希望对你有一定的参考价值。
求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就隐藏。反之如果是别的图片就正常显示。
用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事件中进行处理了。
按照我给你的示例,是肯定可以实现的,不过这样子因为节点一发生变化就需要判断一次,肯定会影响效率(不过如果前端不是很复杂,基本上是完全察觉不出来的)。
但是建议你还是重新设计下,因为结构设计合理了,肯定是能确定相应的事件的
if($(this).find("img[src='to.gif']")[0])
$(this).hide();
else
$(this).show();
);追问
也不管用啊
比如,我排列几个上面的代码:
加上JQ库,再加你这段,那图片以及它所在DIV还是显示啊。
一个弹出div,当点击页面上除了这个div这外的地方,隐藏这个div,jquery怎么写??
一个弹出div,当点击页面上除了这个div这外的地方,隐藏这个div,jquery怎么写??
如图所示。当点其他地方(始发城市以外)要隐藏那个选择城市的弹出div。
怎么用jquery实现 。说清楚思想。最好有讲解代码。多谢谢
IE中用event.srcElement;
FF中用e.target;
能获得鼠标点击的对象
然后你判断该对象是否为选择城市的这个div
不是的话就隐藏该 div
我想怎么用jquery你应该知道 吧
$(document).mousedown(
function(event)
alert(event.target.id); //这样会弹出你单击的元素的id,你可以在这里写你的程序了
);
);本回答被提问者和网友采纳
以上是关于求JS判断代码,当这个DIV里有某个图片时,便隐藏这个DIV的主要内容,如果未能解决你的问题,请参考以下文章