質問

プロトタイプのセレクターに変数を渡すのに少し苦労しています。 1つの関数が同じ種類の多くで機能できるように、変数を選択文字列に渡すことができるようにしたいと思います。

現時点では、これが基本的に私がやりたいことです:

function myFunct(var)
{
  $(var + 'add_form').hide()  //so inde the brackets would be ('#product1 #add_form') for example.
}

「var」をセレクターに渡す関数に渡すことができるようにして、ページ上の多くの人に同じパターンを隠すことができます。

進むべき道についてのアイデアは大歓迎です。

役に立ちましたか?

解決

あなたは正しい軌道に乗っています!カップルのもの:

  1. var はJavaScriptキーワードです(ソース) 、変数の名前に使用しないでください
  2. IDで要素をクエリする場合( #add_form など)、実行中にコンテナ要素を追加する必要はありません
  3. class で要素を照会する場合、 $ 関数ではなく、 $$ 関数を使用する必要があります
  4. メソッドを呼び出すには、ラップされたセットを反復処理する必要があります
  5. 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の前に、クラスにします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top