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

时间:2009-09-30 18:16:43

标签: jquery variables concatenation

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

myFunction("#myObject");

function myFunction(IDofObject){

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

}

我想用'#myObject img'做些什么,但不能在声明中使用它。

6 个答案:

答案 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}}