2012-03-07 40 views
-3

我可以通過其功能選擇元素嗎?如何通過javascript函數獲取元素

例如

HTML

<button id="saveButton" onClick="javascript:fnSave(this)> 
    Save 
</button> 

然後的javascript

function fnSave(element){ 

console.log($(element).attr('id')); 

} 

點擊按鈕將導致:saveButton

+0

你試過嗎?發生了什麼? – charlietfl 2012-03-07 03:06:15

+1

你忘了關閉onClick''' – ajax333221 2012-03-07 03:09:11

+0

哦...它的工作..我只是忘了報價>。<我的壞 – rjmcb 2012-03-07 03:10:55

回答

1

你可以做到這一點與使用currentTarget當前 - 是這樣的:

save = function(object){ 
    console.log($(object).attr('id')); 
} 

而且,像你提到你會調用該從你的HTML - 只是包括報價:

<button id="saveButton" onClick="save(this)">Save</button> 
+0

這可能會將'undefined'分配給變量.OP也在詢問如何獲取元素,而不是'id' – ajax333221 2012-03-07 03:28:57

+0

實際上,我正在脫離他的代碼,從我在這裏看到的當前目標可以很好地工作,它取決於函數的調用方式,當它被稱爲OP時,它會發送一個事件對象:http://api.jquery.com/event.currentTarget/ – 2012-03-07 13:19:24

+0

剛剛看了一遍。謝謝,我想我得到了混合調用的兩種方法。 – 2012-03-07 13:31:18

0

要獲得元素你可以做你剛纔做,加onClick='fnSave(this)'到該按鈕,並在功能:

function fnSave(element){ 
    //the element is in 'element' 
} 

不過我看你使用jQuery,所以你可以刪除onClick和使用:

$("#saveButton").click(function(event){ 
    var element = $(this);//the element is in 'element' 
}); 

注:如果你要使用這種多個不同的按鈕,這將是明智的一個clasName選擇他們,而不是,或使用第一個函數。 編輯

相關問題