「this」に関して教えて頂きたい部分がございます。
php
1@extends('layouts.default') 2 3@section('title', 'Blog Posts') 4 5@section('content') 6<h1> 7 <a href="{{ url('/posts/create') }}" class="header-menu">New Post</a> 8 Blog Posts 9</h1> 10<ul> 11 @forelse ($posts as $post) 12 <li> 13 <a href="{{ action('PostsController@show', $post) }}">{{ $post->title }}</a> 14 <a href="{{ action('PostsController@edit', $post) }}" class="edit">[Edit]</a> 15 <a href="#"class="del" data-id="{{ $post->id }}">[x]</a> 16 <form method="post" action="{{ url('/posts',$post->id)}}" id="form_{{ 17 $post->id}}"> 18 {{ csrf_field() }} 19 {{ method_field('delete') }} 20 </form> 21 </li> 22 @empty 23 <li>No posts yet</li> 24 @endforelse 25</ul> 26<script src="/js/main.js"></script> 27@endsection
js
1(function(){ 2 'use strict'; 3 var cmds = document.getElementsByClassName('del'); 4 var i; 5 console.log(cmds); 6 for(i = 0; i < cmds.length; i++){ 7 cmds[i].addEventListener('click',function(e){ 8 9 e.preventDefault(); 10 11 if(confirm('are you sure?')){ 12 document.getElementById('form_' + this.dataset.id).submit(); 13 } 14 }); 15 } 16})();
上記コードJavaScript内のコードの以下のthisの部分なのですが、
document.getElementById('form_' + this.dataset.id).submit();
この部分の「this」は何を指しているのでしょうか?
「this」というのはオブジェクトを指す際に用いられるものと認識しているのですが、datasetのMDNではdatasetの前にelementを指定するよう記載されています。
ここの部分で少し引っかかってしまったのですが、何故datasetの前に「this」を置くことができるのでしょうか?
ご助言頂けましたら幸いです。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー