10

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

myFunction("#myObject");

function myFunction(IDofObject){

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

}

我想用 '#myObject img' 做一些事情,但不能让它在语句中起作用。

4

6 回答 6

31

不要将参数括在引号中:

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

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

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

function myFunction(IDofObject) {
    $( "#" + IDofObject + " img" ).doSomething();
}
于 2009-09-30T18:19:08.643 回答
3
myFunction("#myObject");

function myFunction(IDofObject){

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

}

试试看。

于 2009-09-30T18:18:34.370 回答
1

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

function hideImageDescendants(selector){
    $(selector).find("img").hide();
}
于 2009-09-30T18:24:33.117 回答
0

啊。那些“在你问你弄清楚……后 2 秒”的问题之一:

function myFunction(IDofObject){

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

}
于 2009-09-30T18:19:25.467 回答
0

就这样做——

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

甚至

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

myfunction(jqobj){
jqobj.show();
}
于 2009-09-30T18:19:55.910 回答
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);
      
  })

于 2017-03-07T06:56:32.937 回答