2017-04-25 9 views
-1

私は2つの入力を持つフォームを持っています。送信をクリックすると、次のようになります。要素にIDがない場合、どの要素がクリックされたかをどのように確認できますか? JavaScriptのみを使用

  1. 2つのプロパティ(入力ごとに1つ)を持つオブジェクトが作成されます。
  2. 各オブジェクトは配列にプッシュされます。
  3. divが作成され、オブジェクトの値がdivの内側HTMLに配置されます。
  4. スパンが作成され、divに追加されます。

divのスパンをクリックすると、特定のdivが表示されなくなります。つまり、そのdivのinnerHTMLの値を持つオブジェクトを配列から削除する必要があります。

クリックしたスパンを確認するにはどうすればよいですか?

+0

a)それぞれにid/class/data-attribute /を与えます。b)それぞれのdivについて、クロージャ変数で知っているさまざまなイベントリスナを添付します。c)DOM内の相対位置によってそれぞれの要素を探します。 – Bergi

答えて

1

イベントリスナーでは、取得したイベントのターゲットプロパティで確認できます。 event.target

+0

'.target'ではなく' .currentTarget'がほしいと思うでしょう – Bergi

+0

大変ありがとうございます! – Amir

+0

この解決策があなたを助けた場合、回答を受け入れることを検討してください:) –

0

document.getElementsByTagName( 'span')を使用すると、DOM要素のNodeListを返すことができます。だから、初心者のために、あなたはそれらを反復し、このようなそれぞれにハンドラをアタッチする必要があります:

var spans = document.getElementsByTagName('span'); 
for (var i = spans.length - 1; i >= 0; --i) 
{ 
    spans = spans[i]; 
    // do something to span 
    // forexample: spans.onclick = clickHandler; 

} 

役に立てば幸い!

+0

ありがとうございます! – Amir

0
  1. div(ポイント番号3)に 'onClick'イベントを添付します。
  2. this.event.currentTargetを使用します(この場合、クリックされたspanタグ/ divタグが表示されます)。
  3. 次に、this.remove()メソッドを使用してspanタグまたは親要素を削除します。
+0

助けてくれてありがとう! – Amir

関連する問題