2016-09-18 14 views
0

EDIT: JSFIDDLE here私は、フィドルでDESKTOP 1をMOBILE 1の要素(#2と同じ)に反映しようとしています。コンソールにエラーが表示されます。jQueryでDOMから要素を取得する

DESKTOP 1になり、リストからNEW RATEを選択します。コンソールを開いて問題を確認してください。ありがとう!


私は、このコマンドを使用して、私のレイアウトから要素を取得:

var eqTaxSelect = $('table#mob-tab-' + num).find('select.tax_rate').get(); 

私はそれを切り替えてみてください。

toggleField($(eqTaxSelect), $(eqTaxSelect).nextElementSibling); <-- FAILS 

function toggleField(hideObj, showObj) { 
    hideObj.style.display = 'none';  <-- FAILS HERE 
    showObj.style.display = 'inline'; 
    showObj.focus(); 
} 

で:

Uncaught TypeError: Cannot set property 'nextElementSibling' of undefined 

何午前変数に要素を代入すると間違っているのですか?この機能は、たとえば、クリックイベントリスナー内のthisで機能します。 ありがとう!

私はこのフォーラムからやってきたHTMLを基本的には隠し入力としていますので、新しいエントリを追加したり、オプションリストのエントリを使用することもできます。

+1

[mcve]を指定した方がわかりやすいでしょう。 – zer00ne

+0

申し訳ありませんが、おそらくこれは簡単です@ zer00ne – TheRealPapa

答えて

0

要素を変数に割り当てるときに私は間違っていますか?

あなたはtoggleFieldDOM要素を期待jQuery()オブジェクトを渡しています。 jQuery()には.nextElementSiblingメソッドがありません。 toggleFieldDOM要素を渡すために

toggleField(eqTaxSelect, eqTaxSelect.nextElementSibling); 

と交換

toggleField($(eqTaxSelect), $(eqTaxSelect).nextElementSibling); 

jQuery()への呼び出しを削除します。

console.log(eqTaxSelect)

+0

こんにちは@ guest271314、エラーはまったく同じです。 – TheRealPapa

+0

@TheRealPapa 'eqTaxSelect'要素の' .nextElementSibling'とは何ですか? Questionに 'html'を含めることができますか? stacksnippetsを作成するにはhttps://blog.stackoverflow.com/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/またはjsfiddle http://jsfiddle.netを参照してください。 – guest271314

+0

@TheRealPapa jsfiddle https://fiddle.jshell.net/c8h8pxxx/ – guest271314

0

テストは、インスペクター(CTRL + SHIF + I CHROME)でご覧ください。これがOKであれば、

はただ、これは "$"

0

あなたの声明

toggleField(eqTaxSelect, eqTaxSelect.nextElementSibling); 

が失敗した理由があるため、あなたが移入されている方法の

toggleField(eqTaxSelect, eqTaxSelect.nextElementSibling)

withouthありませんthe eqTaxSelect

var eqTaxSelect = $('table#mob-tab-' + num).find('select.tax_rate').get(); 

それはインデックスなし

var eqTaxSelect = $('table#mob-tab-' + num).find('select.tax_rate').get(0); 

理由ビーイング、取得()のように変更する必要がありますが、アレイと、あなたが操作している方法を返し、あなたは、単一のDOM要素を期待しています。

jQuery documentation for get()

+0

こんにちは@Sreekanth、これはすぐ近くです。エラーがトグル内の 'nextSibiling'ステートメントに移動しました。 – TheRealPapa

+0

eqTaxSelectに間違ったセレクターがあります。それは$( 'table#mob-tab-' + num)の代わりに$( 'tr#mob-tab-' + num)でなければなりません。 – Sreekanth

+0

あなたの問題を解決しましたか? – Sreekanth

関連する問題