答えて
tr
とtd
の要素は、table
要素でのみ有効です。ブラウザは、効果的に類似した構造をあなたに残しDOMでこれらの無効なタグを除去します:
<body>
<input type="input" size="3" class="qta">
<input type="input" size="7" class="price">
TOTALE: <input type="input" id="total" size="7" ;="">
</body>
はFirebugのか、Webkitのインスペクタでそれをチェックしてください。
input.price
は、一致する要素のセット内の各要素の直後の兄弟であるため、ここではセレクタが機能します。
とすぐにラップtable
要素を含むよう、tr
とtd
要素は構造が有効であり、あなたが期待するようDOMに置かれます:input.price
があるので
<body>
<table width="520" border="0" align="center" cellpadding="3" cellspacing="0">
<tbody>
<tr>
<td width="40" bgcolor="#009966" class="whyte">
<input type="input" size="3" class="qta">
</td>
<td width="100" bgcolor="#009966" class="whyte">
<input type="input" size="7" class="price">
</td>
</tr>
</tbody>
</table>
TOTALE: <input type="input" id="total" size="7" ;="">
</body>
これはnext()
セレクタを破ります一致した要素のセット内の各要素の直後の兄弟ではなくなりました。
ソリューションは、新しい構造をナビゲートするinput.price
のためにあなたのjQueryのセレクタを変更することです:
price = self.parents('tr').find(".price"),
はあなたfiddleを更新しました。
.next() selectorは現在の要素の兄弟に対してのみ機能します。あなたの最初の例でそれがなぜ働いていたのか分かりません...
私はあなたのフィドル(http://jsfiddle.net/vansimke/n3W4F/)をフォークし、親タグに移動して次へ移動し、 ".price"要素内部。それがあなたが望むことをするかどうかを見てください。
次の関数は、ただちに兄弟を調べます。各入力はtdタグで囲まれているため、直系の兄弟は存在しないため、
self.next(".price")
セレクタは何も返しません。
self.parents('tr').find(".price").
なぜ最初のスニペットが機能するのかわかりません。自己変数(self.parents()。foreach(...))の親を調べる場合、親はHTML-> BODY-> INPUTです。私は、TR/TDがTABLE要素に囲まれていないので、入力タグはBODYの子要素になっていると推測しています。他の人がその行動のより良い説明をしているかもしれません。
- 1. Javascriptが総
- 2. Javascript総額calclator?
- 3. 総額の動的設定値 - javascript
- 4. ショッピングカートの総額Javascriptのみを使用
- 5. WSO2がペイロードの総計を
- 6. 行の入力計算後の列の総和Javascript
- 7. WebAudio:総発振器数と性能(Javascriptの)
- 8. JPA総称フィールド
- 9. ダイナミックテーブルの総和
- 10. 計算総数
- 11. Rails;総計
- 12. 窓は総計
- 13. スライドカウント/総数twitter
- 14. ピボット総数 - オラクル
- 15. 列の総和
- 16. を総称
- 17. 総平均&dplyr
- 18. 総理ジェネレータ; SPOJ
- 19. Facebook総ユーザー数
- 20. 計算総数
- 21. トラップサブルーチンLC3総会
- 22. Gstreamer総レイテンシ
- 23. 総合 - サーバー
- 24. 総アイテムは
- 25. フィルタ結果の総件数が
- 26. Railsページング - 総ページ数が速い?
- 27. JS総和が負になる数学
- 28. foreachのlaravel総行数が異なる
- 29. 総計と合計%
- 30. angular.foreachループの総数
本当にありがとうございます。 – Geme