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

回答編集履歴

1

null を返す可能性の話

2015/11/14 13:23

投稿

think49
think49

スコア18196

answer CHANGED
@@ -1,7 +1,11 @@
1
1
  > そこで5つの星の内、左から2番めの星をホバーした時だけnullになってしまうのですが、何故だか教えて下さい。
2
2
 
3
- そのコードでそうなる事はありませんが、`getAttribute()` は対象の属性が存在しない場合に `null` を返す仕様ですので対象の要素ノードが `data-num` 属性を持っていないのでしょう。
3
+ そのコードでそうなる事はありません(再現できません)が、`getAttribute()` は対象の属性が存在しない場合に `null` を返す仕様ですので対象の要素ノードが `data-num` 属性を持っていないのでしょう。
4
4
  `null` を返す時の「対象の要素ノード」を `console.log` や breakpoint で確認してみて下さい。
5
5
 
6
6
  `getElementsByClassName` を何度も呼ぶのは効率が悪いので書き直してみました。
7
- - [Edit fiddle - JSFiddle](http://jsfiddle.net/jodfynpa/1/)
7
+ - [Edit fiddle - JSFiddle](http://jsfiddle.net/jodfynpa/1/)
8
+
9
+ **(2015/11/14 22:23追記)**
10
+ あくまで可能性ですが、`i` 要素内に別の要素が挿入された場合には `event.target` が `<i>` でなくなる為、再現可能です。
11
+ 実際には別のスクリプトが入っていて影響している可能性がありそうです。