プロトタイプ:セレクターを動的に構築する方法は?
-
08-07-2019 - |
質問
プロトタイプのセレクターに変数を渡すのに少し苦労しています。 1つの関数が同じ種類の多くで機能できるように、変数を選択文字列に渡すことができるようにしたいと思います。
現時点では、これが基本的に私がやりたいことです:
function myFunct(var)
{
$(var + 'add_form').hide() //so inde the brackets would be ('#product1 #add_form') for example.
}
「var」をセレクターに渡す関数に渡すことができるようにして、ページ上の多くの人に同じパターンを隠すことができます。
進むべき道についてのアイデアは大歓迎です。
解決
あなたは正しい軌道に乗っています!カップルのもの:
-
var
はJavaScriptキーワードです(ソース) 、変数の名前に使用しないでください - IDで要素をクエリする場合(
#add_form
など)、実行中にコンテナ要素を追加する必要はありません -
class
で要素を照会する場合、$
関数ではなく、$$
関数を使用する必要があります - メソッドを呼び出すには、ラップされたセットを反復処理する必要があります
-
CSSセレクターでは空白が重要であるため、Prototypeが親コンテナー内を検索するようにセレクター構造に含める必要があります。
function myFunct(parent) { $(parent + ' .add_form').invoke('hide') } myFunct('#someparent'); // hides .add_form inside #someparent
他のヒント
それは機能するはずです... var
を別の名前に変更するだけです。
function myFunct(yourVar)
{
$('#' + yourVar + ' .add_form').each(function(s){ s.hide(); }); // yourVar being the id of the container element
}
「。」を入れました同じIDを持つ複数の要素を使用できないため、add_formの前に、クラスにします。
所属していません StackOverflow