单击其他图像时隐藏图像

时间:2013-07-17 17:54:36

标签: javascript jquery

这似乎很简单..但是我对jquery有点愚蠢,也许我正在做一些愚蠢的错事?

我想点击图片,然后点击该图片,隐藏其旁边的另一张图片。

 <script type="text/javascript"> 


        $("#butShowMeSomeUnits").click(function() { 
            $('#arrowUnitspic').hide();
        });


 </script>

根据两张图片,Id是正确的。我错过了什么?调试它,代码永远不会被解雇......

由于

编辑

我将我的控件作为asp主页上的嵌套控件,并且其id正在被重写。我现在已经修复了id,但我仍然无法获得任何快乐......我也看到我的标记被渲染为“输入”,这会有所作为吗?

<head>
<script src="js/jquery.min.1.5.js" type="text/javascript"></script>

    <script type="text/javascript">
        $(document).ready(function () {
            $("#butShowMeSomeUnits").click(function () {
                $('#arrowUnitspic').hide();
            });
        });

</script>
</head>

<body>
<input type="image" src="bookings_media/buttons/show-me-some-units.png" onmouseout="this.src='bookings_media/buttons/show-me-some-units.png'" onmouseover="this.src='bookings_media/buttons/show-me-some-units_orange.png'" id="butShowMeSomeUnits" name="ctl00$ctl00$ContentPlaceHolder1$bookings_right_content$butShowMeSomeUnits">
</body>

EDIT JS Fiddle

如果有任何混淆...... JS小提琴我用假的代码拼凑起来也行不通......

4 个答案:

答案 0 :(得分:2)

您需要在页面准备就绪时执行此操作:

<script type="text/javascript"> 
$(document).ready(function() {
       $("#butShowMeSomeUnits").click(function() { 
            $('#arrowUnitspic').hide();
        });
});
</script>

编辑: 在我从下拉列表中选择jQuery 1.10.1之前,你提供的小提琴不起作用。您会注意到您的onmouseover首先更改元素,但是一旦您单击输入它就会隐藏图像。你能否证实这对你有效?

如果答案是否定的,那么我认为您不会在页面上加载jQuery库。要检查这一点应该有效:

if (typeof jQuery != 'undefined') {

    alert("jQuery library is loaded!");

}else{

    alert("jQuery library is not found!");

}

此外,查看浏览器控制台/开发工具显示的错误可能会有所帮助。

答案 1 :(得分:1)

将代码包装在jQuery.ready()事件中。并检查是否加载了jquery js文件。

 $(document).ready(function(){
            $("#butShowMeSomeUnits").click(function() { 
                $('#arrowUnitspic').hide();
            });
    });

答案 2 :(得分:0)

您的代码看起来不错,可以查看 here

你可能会错过的是:

  • 在页面的头部加载jQuery脚本。
  • 如果您的$(document).ready(function() { //code here });代码位于页面代码中的脚本之后,则
  • 包含<img>。这是在页面准备好/加载时加载代码的。

答案 3 :(得分:0)

可能对您有帮助的步骤:

  1. 确保正确集成jQuery lib。 (检查您是否想要在chrome上打开控制台并键入$("html").hide();并查看当前页面是否消失)
  2. 确保您的自定义JS文件或代码包含在jQuery lib中。
  3. 使用jQuery的非常好的起点是将所有内容放在$(document).ready()中,如下例所示:

    (文档)$。就绪(函数(){             $( “IMG”)。点击(函数(){             $( “IMG”)的hide()。             $(本).show();             });         });