teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

構文を全面的に修正

2020/05/26 13:18

投稿

miyabi_pudding
miyabi_pudding

スコア9569

answer CHANGED
@@ -8,15 +8,15 @@
8
8
  ```html
9
9
  <!-- メソッド実行の引数としてthisを入れる -->
10
10
  <ul id="price">
11
-  <li class="even"><label><input type="hidden" class="btn" name="price" value="300" onclick="price(this)">300円</label></li>
11
+  <li class="even"><label onclick="price(this)"><input type="hidden" class="btn" name="price" value="300">300円</label></li>
12
-  <li class="odd"><label><input type="hidden" class="btn" name="price" value="600" onclick="price(this)">600円</label></li>
12
+  <li class="odd"><label onclick="price(this)"><input type="hidden" class="btn" name="price" value="600">600円</label></li>
13
-  <li class="odd"><label><input type="hidden" class="btn" name="price" value="1200" onclick="price(this)">1200円</label></li>
13
+  <li class="odd"><label onclick="price(this)"><input type="hidden" class="btn" name="price" value="1200">1200円</label></li>
14
14
  </ul>
15
15
  ```
16
16
  ```javascript
17
17
  // 引数から要素を取得すれば、取得できる。
18
18
  function price(inputDom) {
19
- var out_price = $(inputDom).val();
19
+ var out_price = $(inputDom).children('input').val();
20
20
  console.log(out_price); // "?"が文末は文法違反";"が正しい undefined
21
- };
21
+ }
22
22
  ```

3

閉じタグを修正

2020/05/26 13:18

投稿

miyabi_pudding
miyabi_pudding

スコア9569

answer CHANGED
@@ -8,7 +8,7 @@
8
8
  ```html
9
9
  <!-- メソッド実行の引数としてthisを入れる -->
10
10
  <ul id="price">
11
-  <li class="even"><label><input type="hidden" class="btn" name="price" value="300" onclick="price(this)">300円</a></li>
11
+  <li class="even"><label><input type="hidden" class="btn" name="price" value="300" onclick="price(this)">300円</label></li>
12
12
   <li class="odd"><label><input type="hidden" class="btn" name="price" value="600" onclick="price(this)">600円</label></li>
13
13
   <li class="odd"><label><input type="hidden" class="btn" name="price" value="1200" onclick="price(this)">1200円</label></li>
14
14
  </ul>

2

a要素ではなく、inputに変更

2020/05/26 13:04

投稿

miyabi_pudding
miyabi_pudding

スコア9569

answer CHANGED
@@ -1,15 +1,16 @@
1
1
  質問の構文では、`out_price`で、特定の要素を取得できていないため、
2
2
  (`price li`では、`li`の集まりというか、ID指定のセレクタになってないため、そもそも要素を取得できていない)
3
3
  `val`メソッドを持っていないからです。
4
+ また、だいたいにおいて、`a`要素は、`value`属性を持たないので、動きません。
4
5
 
5
6
  下記ならば、取得できるかと。
6
7
 
7
8
  ```html
8
9
  <!-- メソッド実行の引数としてthisを入れる -->
9
10
  <ul id="price">
10
-  <li class="even"><a class="btn" href="#02" name="price" value="300" onclick="price(this)">300円</a></li>
11
+  <li class="even"><label><input type="hidden" class="btn" name="price" value="300" onclick="price(this)">300円</a></li>
11
-  <li class="odd"><a class="btn" href="#02" name="price" value="600" onclick="price(this)">600円</a></li>
12
+  <li class="odd"><label><input type="hidden" class="btn" name="price" value="600" onclick="price(this)">600円</label></li>
12
-  <li class="odd"><a class="btn" href="#02" name="price" value="1200" onclick="price(this)">1200円</a></li>
13
+  <li class="odd"><label><input type="hidden" class="btn" name="price" value="1200" onclick="price(this)">1200円</label></li>
13
14
  </ul>
14
15
  ```
15
16
  ```javascript

1

console.logの文末の間違いを修正

2020/05/26 13:03

投稿

miyabi_pudding
miyabi_pudding

スコア9569

answer CHANGED
@@ -16,6 +16,6 @@
16
16
  // 引数から要素を取得すれば、取得できる。
17
17
  function price(inputDom) {
18
18
  var out_price = $(inputDom).val();
19
- console.log(out_price)? //undefined
19
+ console.log(out_price); // "?"が文末は文法違反";"が正しい undefined
20
20
  };
21
21
  ```