jQueryのattrメソッドの使い方を現役エンジニアが解説【初心者向け】

初心者向けにjQueryのattrメソッドの使い方について解説しています。これはHTML要素の属性の値を取得、変更する際に使用されます。id属性の場合、class属性の場合、複数の属性を設定する場合それぞれの書き方を学びましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

jQueryのattrメソッドの使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

そもそもJavaScriptについてよく分からないという方は、JavaScriptとは何なのかについて解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプJavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

attrメソッドの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

attrメソッドとは

attr メソッド とは、HTML 要素の様々な属性の値を取得や変更ができるメソッドです。

id 属性や class 属性を取得・変更・設定することができるでしょう。

以降は下記の HTML を例にして解説していきます。

 

<body>

  <h1 id="title">My Title</h1>

  <div class="container">

    <p id="hello" class="world">

      HELLO WORLD!!

    </p>

  </div>

</body>

 

attrメソッドを使ってid属性を取得・変更する方法

attr メソッドで h1 タグの id 属性を取得してみましょう。

今回の例では h1 タグは 1つしかないため、そのままタグ名で要素を取得、続けて attr(‘id’) で id 属性を取得します。

 

const h1_id = $('h1').attr('id');

console.log(h1_id);

// => 'title'

 

続いて id 属性を title から my_title に変更してみましょう。

変更する場合は attr(<target>, <value>) のように、第2引数に設定したい値を入力します。

 

$('h1').attr('id', 'my_title');

// ↑ を実行すると <h1 id="my_title"> に変更される

 

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

attrメソッドを使ってclass属性を設定する方法

class 属性を設定する場合もid 属性と同じです。

div タグの class 属性を設定してみましょう。

div タグも 1つしかないので、そのままタグ名で要素を取得、続けて attr(‘class’, <value>) で class 属性を設定しましょう。

 

$('div').attr('class', 'my_container');

// ↑ を実行すると <div class="my_container"> に変更される

 

複数の class を設定したい場合は、HTML での class 指定と同様に半角スペース区切りで値を指定します。

 

$('div').attr('class', 'class1 class2 my_container');

// ↑ を実行すると ↓ に変更される

// <div class="class1 class2 my_container">

 

attrメソッドを使って複数の属性を設定する方法

id 属性や class 属性、その他の様々な属性を設定したい場合には、引数をオブジェクトで渡しましょう。

 

attr({

  id: 'my_id',

  class: 'my_class',

  name: 'my_name',

  ...

});

 

<p id=”hello” class=”world”> タグに対して、複数属性の設定を試します。

 

$('p').attr({

  id: 'my_id',

  class: 'class1 class2',

  name: 'hello'

})

// ↑ を実行すると ↓ に変更される

// <p id="my_id" class="class1 class2" name="hello">

 

執筆してくれたメンター

メンター稲員さん

フリーランスエンジニア。大手SEからフリーランスのWeb系エンジニアにジョブチェンジ。

経験言語:Ruby、Rails、Python、C/C++、Java、Perl、HTML/CSS3、JavaScript、CoffeeScript、Node.js。

おうち大好きマンです。

 

大石ゆかり

jQueryのattrメソッドの使い方がわかったので良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも最短4週間でJavaScript・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。