2009-09-30 60 views
7

我想將元素的ID傳遞給一個函數,然後調用jQuery。但是,我很難理解如何實際使用ID變量,並將它與jQuery語句中的其他文本連接起來。例如,這將返回一個錯誤:jQuery將元素ID傳遞給jquery語句?

myFunction("#myObject"); 

function myFunction(IDofObject){ 

    $("'"+IDofObject+" img'").doSomething... 

} 

我願意做「#myObject IMG」的東西,但不能獲取到語句內工作。

回答

25

不自動換參數報價:

function myFunction(IDofObject) { 
    $(IDofObject + " img").doSomething(); 
} 

此外,您可能需要考慮增加函數內部的哈希字符,所以你可以通過它的實際ID,而不是一個選擇。

myFunction($('.classSelector :first').attr('id')); 

function myFunction(IDofObject) { 
    $("#" + IDofObject + " img").doSomething(); 
} 
+1

你打敗了我! ;) –

2
myFunction("#myObject"); 

function myFunction(IDofObject){ 

    $(IDofObject+" img").doSomething... 

} 

試試看。

0

呃。這些一個「2秒後你問你找出...提問:

function myFunction(IDofObject){ 

    $(IDofObject+" img").doSomething... 

} 
0

只是做this--

myfunction('obj') 
function myfunction(obj){ 
$('#'+obj+' img').show(); 
} 

或者,甚至

myfunction($('#2 img a')); 

myfunction(jqobj){ 
jqobj.show(); 
} 
1

我想你如果您將整個選擇器作爲參數傳遞,則會得到更好的重用,記住jQuery會隱式地遍歷所有匹配的元素。對於一個基本的例子:

function hideImageDescendants(selector){ 
    $(selector).find("img").hide(); 
} 
0

當按鈕被點擊則獲得按鈕的ID,我後來用它來得到它的現場數據,使用+運算符來動態改變ID

$('.btnsave').click(function() 
 
    { 
 
     btnvalue = $(this).val(); 
 
     //alert(btnvalue); 
 
     adjust_value = $('#adjust_value'+btnvalue).val(); 
 
     ado = $('#ado'+btnvalue).val(); 
 
     amount = $('#amount'+btnvalue).val(); 
 
     description = $('#description'+btnvalue).val(); 
 
     //alert(adjust_value+ado+amount+description); 
 
     
 
    })