我想将一个元素的ID传递给一个函数,然后调用jQuery。但是,我很难理解如何实际获取ID变量并将其与jQuery语句中的其他文本连接起来。例如,这会返回错误:
myFunction("#myObject");
function myFunction(IDofObject){
$("'"+IDofObject+" img'").doSomething...
}
我想用'#myObject img'做些什么,但不能在声明中使用它。
答案 0 :(得分:28)
不要将参数包装在引号中:
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...
}
试试。
答案 2 :(得分:1)
我认为如果你将整个选择器作为参数传递,你会得到更好的重用,记住jQuery隐式迭代所有匹配的元素。一个基本的例子:
function hideImageDescendants(selector){
$(selector).find("img").hide();
}
答案 3 :(得分:0)
唉。其中一个'在你问你弄清楚之后的2秒......'问题:
function myFunction(IDofObject){
$(IDofObject+" img").doSomething...
}
答案 4 :(得分:0)
就这样做 -
myfunction('obj')
function myfunction(obj){
$('#'+obj+' img').show();
}
或者,甚至
myfunction($('#2 img a'));
myfunction(jqobj){
jqobj.show();
}
答案 5 :(得分:0)
当点击按钮时,它会获得按钮ID,我后来用它来获取它的字段数据,使用+运算符来动态更改id
{{1}}