10

jQuery を呼び出す関数に要素の ID を渡したいと思います。しかし、実際に 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 秒後に...」という質問の 1 つ:

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 に答える