jQuery将元素ID传递给jquery语句?

我想将一个元素的ID传递给一个函数,然后调用jQuery。 但是,我很难过如何实际获取ID变量并将其与jQuery语句中的其他文本连接起来。 例如,这会返回错误:

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

我想用’#myObject img’做一些事情,但不能在声明中使用它。

不要将参数包装在引号中:

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

此外,您可能需要考虑在函数内添加散列字符,以便可以将实际的id传递给它,而不是选择器。

 myFunction( $('.classSelector :first').attr('id') ); function myFunction(IDofObject) { $( "#" + IDofObject + " img" ).doSomething(); } 
 myFunction("#myObject"); function myFunction(IDofObject){ $(IDofObject+" img").doSomething... } 

试试吧。

我认为如果你将整个选择器作为参数传递,你会得到更好的重用,记住jQuery隐式迭代所有匹配的元素。 对于一个基本的例子:

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

啊。 其中一个’在你问你弄清楚……之后的2秒’问题:

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

这样做 –

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

甚至

 myfunction($('#2 img a')); myfunction(jqobj){ jqobj.show(); } 

当按钮被点击时,它会获得我后来用来获取它的字段数据的按钮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); })