为什么我的show / hide脚本不起作用

时间:2015-08-12 19:06:51

标签: javascript jquery html css

嗨我有一个javascript脚本,当我点击push_back()课时,其他图片从img转到invisible,我可以继续在它们之间切换。我添加了{{1在我想要出现的图像的CSS上。但似乎没有任何工作

的Javascript

visible

HTML

display:none

CSS

<script>
    $('img.home').click(function() {
        $('img.video && img.news && img.games && img.music').hide();
    });
</script>

3 个答案:

答案 0 :(得分:1)

您需要将代码更新为

$('img.home').click(function() {
    $('img.video, img.news, img.games, img.music').hide();
});

此外,如果您想要切换图片,而不是hide(),请使用toggle()

而且,正如@Mark建议的那样,将您的脚本包含在文档就绪块中。

答案 1 :(得分:0)

试试这个,使用逗号代替&amp;&amp;并尝试使用文档准备加载脚本。

<script>
 $(document).ready(function(){
   $('img.home').click(function() {
     $('img.video , img.news , img.games , img.music').hide();
  });
});
</script>

答案 2 :(得分:0)

除了已在另一个答案中解释的选择器语法问题之外,所有图像都放在锚标记内。您还应该将click事件处理程序附加到这些锚点,以便stop event bubbling

这应该适合你:

$("li a").click(function(e) {
    e.preventDefault();
    e.stopPropagation();
})
$('img.home').click(function(event) {
    $('img.video , img.news , img.games , img.music').hide();
    // OR:
    // $(this).closest('li').siblings().find('img').hide();
});

您还应该从onClick元素中移除'img.home'属性,因为它是不必要的(并且编写不当)