在jquery中隐藏/显示图像

时间:2011-01-04 11:02:22

标签: jquery jquery-selectors

如何在点击超链接时显示/隐藏图像?

<script>
function getresource(id)
{
    if(id==4)
    {
       //show image
     }
    else if(id==5)
    {
         //hide image
     }

 } 
</script>
<a href="#" onclick="javascript:getresource('4');">Bandwidth</a>
<a href="#" onclick="javascript:getresource('5');">Upload</a>
<p align="center"> 
  <img id="img3" src="/media/img/close.png" style="visibility: hidden;" />
  <img id="img4" src="/media/img/close.png" style="visibility: hidden;" />
</p>

7 个答案:

答案 0 :(得分:19)

你想隐藏什么图像?假设所有图像,以下应该有效:

$("img").hide();

否则,使用选择器,您可以找到包含div的子元素的所有图像,并隐藏它们。

但是,我强烈建议您阅读Jquery文档,您可以自己弄明白:http://docs.jquery.com/Main_Page

答案 1 :(得分:4)

使用图像类名称:

$('.img_class').hide(); // to hide image
$('.img_class').show(); // to show image

使用图片ID:

$('#img_id').hide(); // to hide image
$('#img_id').show(); // to show image

答案 2 :(得分:2)

使用the .css() jQuery manipulators,或者更好的是,只要您获得了图片上的$('#img' + id),就可以在图片上调用.show()/.hide()

BTW,你should not用“javascript:”前缀编写javascript处理程序。

答案 3 :(得分:1)

<script>
function show_image(id)
{
    if(id =='band')
    {
       $("#upload").hide();
       $("#bandwith").show();
    }
    else if(id =='up')
    {
        $("#upload").show();
        $("#bandwith").hide();
    }
} 
</script>

<a href="#" onclick="javascript:show_image('bandwidth');">Bandwidth</a>
<a href="#" onclick="javascript:show_image('upload');">Upload</a>

<img src="img/im.png" id="band" style="visibility: hidden;" />
<img src="img/im1.png" id="up" style="visibility: hidden;" />

答案 4 :(得分:0)

我刚才必须这样做。我最终做了:

function newWaitImg(id) {
    var img = {
       "id" : id,
       "state" : "on",
       "hide" : function () {
           $(this.id).hide();
           this.state = "off";
       },
       "show" : function () {
           $(this.id).show();
           this.state = "on";
       },
       "toggle" : function () {
           if (this.state == "on") {
               this.hide();
           } else {
               this.show();
           }
       }
    };
};

.
.
.

var waitImg = newWaitImg("#myImg");
.
.
.
waitImg.hide(); / waitImg.show(); / waitImg.toggle();

答案 5 :(得分:0)

我知道这是一篇较旧的帖子,但对于那些希望使用jQuery显示.NET服务器端图像的人来说,这可能很有用。

你必须使用稍微不同的逻辑。

所以,$(“#&lt;%= myServerimg.ClientID%&gt;”)。如果使用myServerimg.visible = false隐藏图像,show()将不起作用。

相反,请在服务器端使用以下内容:

myServerimg.Style.Add("display", "none")

答案 6 :(得分:-1)

如果您正试图隐藏上传img并在带宽上显示带宽img,请点击反之亦然

<script>

    function show_img(id)
    {
        if(id=='bandwidth')
        {
           $("#upload").hide();
           $("#bandwith").show();
        }
        else if(id=='upload')
        {
            $("#upload").show();
            $("#bandwith").hide();
        }
    return false;
     } 
    </script>
    <a href="#" onclick="javascript:show_img('bandwidth');">Bandwidth</a>
    <a href="#" onclick="javascript:show_img('upload');">Upload</a>
    <p align="center"> 
      <img src="/media/img/close.png" style="visibility: hidden;" id="bandwidth"/>
      <img src="/media/img/close.png" style="visibility: hidden;" id="upload"/>
    </p>