1

这是我的代码:

HTML

<img src"../MyPic_1" id="MyImg_1" onclick = "MyJQfunction($(this))">
<img src"../MyPic_2" id="MyImg_2" onclick = "MyJQfunction($(this))">
<img src"../MyPic_3" id="MyImg_3" onclick = "MyJQfunction($(this))">

查询

<script>
function MyJQfunction(MyField)
{
  MyField.hide();
}
</script>

如您所见,我正在尝试将 HTML 元素发送到我的 JQ 函数,以便它知道要隐藏什么。

我究竟做错了什么?

注意:这只是我真正需要做的一个简单示例,我只是想避免包含您不关心的代码。谢谢!

4

3 回答 3

1

您正在使用 jquery,所以附加一个事件处理程序而不是使用onclick

<img src="../MyPic_1" id="MyImg_1" class="myIMage">
<img src="../MyPic_2" id="MyImg_2" class="myIMage">
<img src="../MyPic_3" id="MyImg_3" class="myIMage">

$(function(){
      $('.myIMage').on('click', MyJQFunction);
 }

function MyJQFunction()
{
   $(this).hide(); //here this represents the element clicked.
}

或经典方式;调用时使用Function.call设置函数的上下文。

<img src"../MyPic_1" id="MyImg_1" onclick = "MyJQfunction.call(this)">

function MyJQFunction()
{
   $(this).hide(); //and this here is now the clicked element.
}

同样在您的代码中,您的图像标签似乎不正确,并且MyJQfunctionMyJQFunction大小写(注意 的大小写f)问题。检查您的控制台是否有错误。否则你的代码应该可以工作。

于 2013-09-10T20:37:32.430 回答
0

这就是我要做的:

<img src="../MyPic_1" id="MyImg_1" class="image_to_hide"/>
<img src="../MyPic_2" id="MyImg_2" class="image_to_hide"/>
<img src="../MyPic_3" id="MyImg_3" class="image_to_hide"/>

...

<script>
    $(".image_to_hide").click(function(){
        $(this).hide();
    });
</script>
于 2013-09-10T21:03:40.020 回答
0

你应该像这样将它包装在 jquery 函数上

function MyJQFunction(MyField)
{
  $(MyField).hide();
}
于 2013-09-10T20:38:25.123 回答