2013-09-10 59 views
1

這裏是我的代碼:JQuery的通過HTML ID爲參數

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 Functi因此它知道要隱藏什麼。

我在做什麼錯?

注:這是我真正需要做的,我只是想避免包括你不在乎代碼只是一個簡單的例子。謝謝!

+0

你有什麼工作,一旦你修復語法錯誤。 http://jsfiddle.net/3ynDC/ –

+1

這個問題似乎是脫離主題,因爲問題是一個錯字。 –

+0

錯字不是問題,寫這個問題是我的一個錯誤。正如我在說明中所說:這僅僅是一個例子。 –

回答

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> 
+0

這非常有效,因爲它非常簡單,但是我的代碼有點複雜,並且不適合。但是thanx,我相信你的答案會被其他人使用。 –

2

您正在使用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外殼)的問題。檢查控制檯是否有錯誤。否則,你的代碼應該工作。

+0

太棒了,我嘗試了兩種方法,他們的工作非常完美! 只是爲別人注: 在第二個選項,如果你有多個參數: ** ** HTML ** ** JQUERY功能 MyJQFunction(2ndPar,3rdPar)** //無需要爲'this'聲明一個參數** –

0

你應該換行jQuery的功能,這樣

function MyJQFunction(MyField) 
{ 
    $(MyField).hide(); 
} 
+0

我試過這個......沒有工作:( –