2016-07-28 14 views
0

私はjquery、javascriptでそれほど苦労することはありません。jQueryへのjavascriptまたはその逆

私は小さな関数をjavascriptで書いていますが、セレクタを変更する必要があります。 jqueryでこれを行う際に問題はありませんが、jsで行います。

私のセレクタをjsに相当するものに変換するか、関数全体をjquery(コードの4行のみ)に変換するかのいずれかの助けが必要です。掘りとテストのビットの後

function findNextTabStop() { 

    // This is the current selector 
    var universe = document.querySelectorAll("input"); 

    // In jQuery, the NEW selector would look like this 
    $universe = $(this).closest(".form").find(".input-wrapper input, .input-wrapper select, .input-wrapper textarea"); 

    var list = Array.prototype.filter.call(universe, 
     function (item) { 
      return item.tabIndex >= "0" 
     }); 

    var index = list.indexOf(this); 

    return list[index + 1] || list[0]; 
} 
+0

を作ってみた何ですか?また、いくつかのサンプルHTMLを共有します – Rajesh

+0

フォームの一部です - フォームにはさまざまなタイプの入力が含まれていますが、それぞれDIV(.input-wrapper)内に常にあります。入力に注目しながらenterを押すと、すべての入力を検索し、現在の入力のインデックスを見つけ、次の入力を取得し、最終的にフォーカスが適用されるこの関数がトリガされます。 –

+0

そして、要素にアクセスする方法を統一したいと思います。右?フィルターに '$ universe'を渡したり、$ .filter'を使用しようとしないでください。 – Rajesh

答えて

0

、これはあなたが達成しようとしているかを説明することができます私は

function findNextTabStop() { 

    $el = $(this).closest(".input-step").find(inputs); 
    var index = $el.index(this); 
    return $el[index + 1] || $el[0]; 
} 
関連する問題