简体   繁体   English

jQuery以通用方式隐藏除第一个图像之外的所有图像

[英]jQuery hide all images except first one in a generic way

I want to show only the first image and hide others, this is how HTML looks like:我只想显示第一张图片并隐藏其他图片,这就是 HTML 的样子:

<div class="slider-image">
  <img src="html.png" alt="Html" />
  <img src="css.png" alt="Css" />
  <img src="jquery.png" alt="jQuery" />
</div>

In this example I want to see html.png but I have to consider more images so I have to find a generic solution.在这个例子中,我想查看 html.png 但我必须考虑更多的图像,所以我必须找到一个通用的解决方案。 I tried with:我试过:

$("div.slider-image").hide();
$("div.slider-image").eq(0).show();

but it shows every image, can someone help me?但它显示了每张图片,有人可以帮助我吗?

use .not使用.not

Working snippet:工作片段:

 $('.slider-image img').not(':eq(0)').hide();
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="slider-image"> <img src="html.png" alt="Html" /> <img src="css.png" alt="Css" /> <img src="jquery.png" alt="jQuery" /> </div>

Or use :not(:first-child)或者使用:not(:first-child)

Working snippet:-工作片段:-

 $('.slider-image img:not(:first-child)').hide();
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="slider-image"> <img src="html.png" alt="Html" /> <img src="css.png" alt="Css" /> <img src="jquery.png" alt="jQuery" /> </div>

Do you really need to use jQuery for this?你真的需要为此使用jQuery吗? You can achieve this with plain css:你可以用普通的 css 来实现:

.slider-image > img:not(:first-child) {
    display: none;
}

尝试这个:

$("div.slider-image img:not(:first-child)").hide();
<div class="slider-image">
            <img src="html.png" alt="Html" />
            <img src="css.png" alt="Css" class="hide_img"/>
            <img src="jquery.png" alt="jQuery" class="hide_img" />
        </div>

In script在脚本中

$("div.slider-image .hide_img").hide();

您可以使用简单的一行 jQuery 代码...

$("div.slider-image img").eq(0).siblings('img').hide();

$('.slider-image img:not(:first-child)').css('opacity':0);

这不是正确的方法,但它的工作@Anant Singh 它给出了正确的答案,但它对你有用

You can try the below code.你可以试试下面的代码。 It's working perfectly.它工作得很好。 And image display in the center.并在中央显示图像。

 $('.slider-image img:not(:first-child)').hide();
 .slider-image { display: block; margin-left: auto; margin-right: auto; width: 10%; }
 <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.4.1.min.js"></script> <div class="slider-image"> <img src="html.png" alt="Html" /> <img src="css.png" alt="Css" /> <img src="jquery.png" alt="jQuery" /> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM