web-dev-qa-db-ja.com

要素IDをjqueryステートメントに渡すjQuery?

要素のIDを関数に渡してjQueryを呼び出したいのですが。ただし、実際にID変数を取得して、jQueryステートメント内の他のテキストと連結する方法については困惑しています。たとえば、これはエラーを返します。

myFunction("#myObject");

function myFunction(IDofObject){

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

}

'#myObject img'を使用して何かを実行したいのですが、ステートメント内でそれを機能させることができません。

10
DA.

パラメータを引用符で囲まないでください。

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

また、あなたは、実際のID、ないセレクタを渡すことができるように関数内でハッシュ文字を追加することを検討することをお勧めします。

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

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

function myFunction(IDofObject){

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

}

それを試してみてください。

2
inkedmn

セレクター全体をパラメーターとして渡した方が再利用しやすいと思います。jQueryは一致したすべての要素を暗黙的に反復することを覚えておいてください。初歩的な例の場合:

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

ボタンをクリックすると、後でフィールドデータを取得するために使用するボタン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);
      
  })
0
Mohsin Shoukat

うーん。それらの「あなたがあなたに理解を求めてから2秒後...」の質問の1つ:

function myFunction(IDofObject){

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

}
0
DA.

これを行うだけです-

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

あるいは

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

myfunction(jqobj){
jqobj.show();
}
0
CodeJoust