0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

プログラマーへの道 #36 今までの動画の知識でメモ帳アプリを作る #17(プログラミング入門)のメモ

Last updated at Posted at 2023-07-03

参考にした動画

学んだこと

・階層がわからないからどこのidを取得したらメモのタイトルが重複してるかチェックできるかわからない。(調査中)
・childNodes | MDN (プロパティ)
・children | MDN (要素)

childNodesの実験コード①

実験内容①
・childNodesを使って子要素のテキストコンテンツを添字でアクセスできるか。
実験結果①
・添字でアクセスできる。
・childNodesの実験コード①のようにdivタグの親要素の中に改行と
インデントをしてpタグで子要素を作った場合、childNodesの添字を0から指定すると改行にアクセスすることになる。

<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>childNodes</title>
</head>
<body>
	<div id="menu-list">
		<p>curry</p>
		<p>soup</p>
		<p>sandwich</p>
	</div>
</body>
<script>
	const dinner = document.getElementById("menu-list")
	const todayDinner = dinner.childNodes[1].textContent
	// 添字を0にするとコンソールには何も出力しないが...
    // textContentでなんのテキストが取得できているか確認すると
    // 改行(\n)とタブ(\t)が取得できているのが3枚目の画像でわかる。
    // 改行(\n)とタブ(\t)は特殊文字と呼ばれる
    // 特殊文字が連続した場合は一つの文字列として扱われる
    // 今はこの理解で先に進む。
	const todayDinner2 = dinner.childNodes[0].textContent

	console.log(todayDinner)
	console.log(todayDinner2)
</script>
</html>

ブラウザ
スクリーンショット 2023-07-04 13.24.06.png
スクリーンショット 2023-07-04 13.25.18.png
スクリーンショット 2023-07-04 13.25.59.png
スクリーンショット 2023-07-04 13.30.32.png

childNodesの実験コード②

実験内容②
・childNodes[0]を使って子要素のテキストコンテンツをアクセスするにはhtmlをどのように書けば良いのか
実験結果②
・親要素のdivタグと子要素のpタグの間に改行とタブを設定しない。
・コードが読みにくくなる。

<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>childNodes</title>
</head>
<body>
	<div id="menu-list"><p>curry</p><p>soup</p><p>sandwich</p></div>
</body>
<script>
	const dinner = document.getElementById("menu-list")
	const todayDinner0 = dinner.childNodes[0].textContent
	const todayDinner1 = dinner.childNodes[1].textContent

	console.log(todayDinner0)
	console.log(todayDinner1)
</script>
</html>

ブラウザ②
スクリーンショット 2023-07-04 16.49.54.png
スクリーンショット 2023-07-04 16.50.16.png

childrenの実験コード

実験内容
・childrenを使って子要素のテキストコンテンツを添字0からアクセスできるか。
実験結果
・childrenの添字は0からアクセスできる。

<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>children</title>
</head>
<body>
	<div id="memu-list">
		<p>curry</p>
		<p>soup</p>
		<p>sandWich</p>
	</div>
</body>
<script>
	const diner = document.getElementById("memu-list")
	// childrenにしたら添字を0にしてもアクセスできる説
	const todayDiner = diner.children[0].textContent

	console.log(todayDiner)
</script>
</html>

ブラウザ
スクリーンショット 2023-07-03 17.48.08.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?