-1

这似乎很简单..但我对 jquery 有点不满意,也许我做错了什么愚蠢的错误?

我想单击一个图像,然后单击该图像,在它旁边隐藏另一个图像。

 <script type="text/javascript"> 

 
        $("#butShowMeSomeUnits").click(function() { 
            $('#arrowUnitspic').hide();
        });
 
      
 </script>

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

谢谢

编辑

我将控件作为 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>

编辑 JS 小提琴

如果有任何混淆......我用确切的代码缠绕起来的 JS 小提琴也不起作用......

4

4 回答 4

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!");

}

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

于 2013-07-17T17:56:42.550 回答
1

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

 $(document).ready(function(){
            $("#butShowMeSomeUnits").click(function() { 
                $('#arrowUnitspic').hide();
            });
    });
于 2013-07-17T17:57:51.387 回答
0

可能对您有所帮助的步骤:

  1. 确保您正确集成了 jQuery 库。(检查您是否想在 chrome 上打开控制台并输入$("html").hide();并查看当前页面是否消失)
  2. 确保您的自定义 JS 文件或代码包含在 jQuery lib 中。
  3. 使用 jQuery 的一个很好的起点是把所有东西都放在$(document).ready()下面的例子中:

    $(document).ready(function(){ $("img").click(function(){ $("img").hide(); $(this).show(); }); });

于 2013-07-17T18:09:47.380 回答
0

您的代码看起来不错并且可以在此处检查

您可能缺少的是:

  • 在页面头部加载 jQuery 脚本。
  • 以防$(document).ready(function() { //code here });万一您的<img>标签位于页面代码中的脚本之后。这是为了在页面准备好/加载时加载您的代码。
于 2013-07-17T17:59:59.523 回答