• main.jsのv
    al()についてです。 今回はthis内に記入された...
  • guest 
    main.jsのval()についてです。
    今回はthis内に記入された文字を取得するとありましたが、
    val()について調べると指定した要素を書き換えることができるとありました。
    innerhtmlと一緒の意味合いです。
    例    $(this).val(あいうえお);とすると
    結果   this内があいうえおに変更されるといった具合です。
    同じval()なのにこの違いがあることについて教えていただきたいです。よろしくお願いいたします。
    回答 0

    ウェブカツコーチ 
    引数があるかどうかの違いになります。

    val()には下記の3つの使い方があります。
    ⑴val()
     引数を設定しない場合は、指定した要素のvalue属性の値を取得します。
    ⑵val(value)
     引数に値を設定した場合はvalue属性の値を設定します(指定した要素を取得して書き換えます)。
    ⑶val(function)
     値の代わりにfunction(関数)を指定することも可能です。

    詳しくは下記のリンク等を参考にしてください。
    http://js.studio-kingdom.com/jquery/attributes/val

    上記をふまえると、
    $(this).val()とした場合は、$(this)の値を取得するだけです。
    $(this).val(あいうえお)とした場合は、引数を指定する⑵val(value)の使い方なので、
    $(this)の値を取得し引数に指定した「あいうえお」に書き換えているということになります。

    guest 
    ありがとうございます。理解できました。
    すみません最後にもう一つ、val()とvalueは同じ意味ですか?
    $(this).val()を$(this).value()と書き換えても同じ結果になりました。
    同じであればどんな時に使い分けるのでしょうか?
    再びですがよろしくお願いいたします。

    ウェブカツコーチ 
    >$(this).val()を$(this).value()と書き換えても同じ結果になりました


    こちらの環境で上記のように書き換えた場合、開発ツールのconsoleの部分にエラーが表示されております。
    上書き保存をしてページをリロードした後、フォームに文字を入力した際に開発ツールのconsoleにエラーが出ていないかどうか確かめてみてください。開発ツールについては下記のリンクを参考にしてください。
    https://webukatu.com/wordpress/blog/1044
    https://qiita.com/d-dai/items/0b580b26bb1d1622eb46