2009-09-30 24 views
7

Me gustaría pasar el ID de un elemento a una función que luego llama a jQuery. Sin embargo, no sé cómo tomar la variable de identificación y concatenarla con otro texto dentro de la declaración de jQuery. Por ejemplo, este devuelve un error:jQuery pasando el ID del elemento a la declaración jquery?

myFunction("#myObject"); 

function myFunction(IDofObject){ 

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

} 

me gustaría hacer algo con '#myObject img' pero no puedo conseguir que funcione dentro de la instrucción.

Respuesta

25

No envuelva el parámetro entre comillas:

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

Además, es posible que desee considerar la adición de la almohadilla, dentro de la función para que pueda pasar el ID real, no un selector.

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

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

¡Me ganaste! ;) –

2
myFunction("#myObject"); 

function myFunction(IDofObject){ 

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

} 

Probar eso.

0

Ugh. uno de esos '2 segundos después de que pide a averiguar ...' preguntas:

function myFunction(IDofObject){ 

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

} 
0

Apenas haga esto-

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

O, aún

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

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

Creo que se Obtendría una mejor reutilización si pasó un selector completo como parámetro, recordando que jQuery itera implícitamente sobre todos los elementos coincidentes. Para un ejemplo rudimentario:

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

Cuando el botón es hacer clic a continuación, se consigue el botón Identificación del que más tarde se utilizo para obtener su información de campo, el uso operador + a cambio dinámico Identificación

$('.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); 
 
     
 
    })