这是我的代码:
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))">
JQUERY
<script> function MyJQfunction(MyField) { MyField.hide(); } </script>
正如您所看到的,我正在尝试将HTML元素发送到我的JQ函数,因此它知道要隐藏什么。
我做错了什么?
注意:这只是我真正需要做的一个简单示例,我只是想避免包含您不关心的代码。谢谢!
答案 0 :(得分: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.
}
同样在您的代码中,您的图片代码似乎不正确,而MyJQfunction
与MyJQFunction
有套管(请注意f
的大写)问题。检查控制台是否有错误。否则你的代码应该可以工作。
答案 1 :(得分:0)
你应该把它包装在jquery函数上,就像这样
function MyJQFunction(MyField)
{
$(MyField).hide();
}
答案 2 :(得分: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>