jQuery Academy · レッスン

jQueryによるDOM操作 - 1

jQueryによるDOM操作

レッスン 1/111 ステップ

「jQueryによるDOM操作 - 1」はCoddyKit上の無料jQuery Academyレッスンです。 これはレッスン1/1です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはjQuery Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 jQuery Academyコースには全1レッスンが含まれています。

メソッドの概要

こんにちは。

ここまで、JQueryの用途とセレクターの使い方を見てきました。

ここでは、DOMを操作するためのメソッドを見ていきましょう。

textメソッド

text()メソッド

HTML要素のコンテンツにアクセスするにはtext()メソッドを使用します。

要素のコンテンツを読み取るには、$ (selector).text()を使用します。

また、textメソッドは要素のコンテンツを更新するためにも使用します。新しいコンテンツを引数としてtextメソッドに渡すだけです。

<h1 id="hello">Hello Coddy</h1>		
<h2 id="target"></h2>

<script>
$(document).ready(function(){

/*
With the $ ('# hello') statement, 
we selected the element with hello id 
and set the element's content related
to the text method of this object to 
the variable named result.
*/
var result =  $('#hello').text();

/* 
We find the element with the 
target id in the DOM and assign the value 
of the result variable to the 
text method of this object. 
*/

$('#target').text(result);

/*
As a result, we have assigned 
the value of the h1 element 
to the h2 element.
*/
});
</script>

問題

htmlメソッド

html()メソッド

次のメソッドはhtml()です。 

名前からも分かるように、選択した要素のコンテンツだけでなく、要素全体を取得します。

以下でサンプルのHTML要素を定義しましょう。

baseとtargetというidを持つ2つのHTML要素を定義します。その後、DOMが読み込まれるとすぐに、

base要素のHTMLコンテンツ全体がコピーされ、targetというidを持つ要素に追加されます。

<div id="base">
    <p>Hello Coddy</p>
    <p>I'm p element</p>
  </div>		

<div id="target"></div>

<script>

/* 
Callback will run as son as 
the DOM is loaded
*/
$(document).ready(function(){
     //copy the base element HTML
     var baseHTML =  $('#base').html();
     /* update target element 
     by using baseHTML value
     */
     $('#target').html(baseHTML);
})
</script>

属性セレクター

attr()メソッド

属性は、HTML要素に追加の動作を定義するために使用します。

Javascriptのコードを書く際、これらの属性の値にアクセスしたい場合がよくあります。

このような場合にattrメソッドを使用します。

以下の例で、このメソッドについて学びましょう。

<a  href="https://www.coddykit.com"  
       target="_blank"
       title="CoddyKit Web App" class="base">
     Go CoddyKit
</a>		
<br/>
<span id="link-title"></span>

<script>

/*
Callback will run as son 
as the DOM is loaded
*/
$(document).ready(function(){

     //Read link's title attribute
     var linkTitle =  $('a').attr('title');

     /* update target element content 
         by using linkTitle value
     */
     $('#link-title').text(linkTitle);
})
</script>

属性

新しい属性を設定する手順は、前に学んだtext()メソッドやhtml()メソッドと似ています。

読み取りに使用したattr()メソッドに引数を渡すことで、対象要素に新しい属性を定義できます。

/* 
The target attribute of the element with 
my-link id has been passed the _blank value.
*/
// Mock for Judge0 Node environment
const element = { attr: function(name, value) { console.log(`Setting ${name} to ${value} for #my-link`); } };
const $ = (selector) => element;
$('#my-link').attr('target', '_blank');

removeAttr

removeAttr()

属性を追加する方法を学びました。

次に、既存の属性を削除する方法を見てみましょう。

そのためにremoveAttr()メソッドを使用します。

例を見てみましょう。

/*
All elements
with tag a have been deleted.
*/
// Simulated DOM for Node.js
const elements = [
  { tag: 'a', target: '_blank' },
  { tag: 'a', target: '_self' },
  { tag: 'p' }
];
elements.forEach(el => {
  if (el.tag === 'a') delete el.target;
});
console.log(JSON.stringify(elements));

valメソッド

val()メソッド

フォームは現代のWebアプリケーションに欠かせません。val()メソッドを使って、ユーザーがフォーム要素に入力したデータを読み取ります。


<input type="text" id="name" 
           name="yourname" 
           value="CoddyKit" />
  <p>
   Your name: <span id="target"></span>
 </p>
<script>

/*
Callback will run as son as
the DOM is loaded
*/
$(document).ready(function(){

//copy the input elemens value
var yourName =  $('#name').val();

/* update target element 
    text by using yourName value
*/
  $('#target').text(yourName);
})

</script>

警告

イベント管理のレッスンでは、各入力データを監視してspan要素に反映する方法を学びます。

追加情報

inputの値を更新するには、お察しのとおり、valメソッドに引数を渡します。

const $ = (selector) => ({
  val: (value) => console.log(`Set ${selector} to ${value}`)
});
$('#name').val('New value')

おめでとうございます

おめでとうございます 🎉

DOM操作の学習を始めました。 

次のセクションでは、jQueryでのDOM操作について引き続き学びます。

jQueryによるDOM操作 - 1 — イラスト11
無料で開始

AI チューターと学ぶ JavaScript — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
22
レッスン
48

よくある質問

「jQueryによるDOM操作 - 1」レッスンは無料ですか?

はい。「jQueryによるDOM操作 - 1」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、jQuery Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 jQuery Academyコースには全1レッスンが含まれています。

「jQueryによるDOM操作 - 1」で何を学びますか?

jQueryによるDOM操作 ブラウザで直接実行するハンズオンコードでjQuery Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

jQuery Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのjQuery Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/1です。

「jQueryによるDOM操作 - 1」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このjQuery Academyレッスンでコードを書いて実行できますか?

はい。すべてのjQuery Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

← jQuery Academyに戻る