前提・実現したいこと
JavaScript初心者です。簡単なレベルでしたら申し訳ございません。
下記のJavaScript(DOMプログラミング)で属性idの値を取得するコードを作っています。
どうしても取得したい値が取得出来ません。
取得した「part3」の値をalert文で表示させたいです。
必須条件:
子ノードから親ノードへ下から上に辿ったやり方であること。
発生している問題・エラーメッセージ
「part3」を表示させるはずが、「null」が表示されてしまいます。
該当のソースコード
JavaScript,
1<!DOCTYPE html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<title>Insert title here</title> 6</head> 7<script> 8 function execute(){ 9 var start = document.getElementById("part1"); 10 alert(start.id); 11 var goal1 = start.parentNode.parentNode; 12 alert(goal1.getAttribute("id")); 13 14 // ★ここで躓いています★ 15 alert(goal1.parentNode.getAttribute("id")); 16 return; 17 } 18 19</script> 20<body> 21 <table id ="part3"> 22 <tr id = "part2"> 23 <td>要素1</td> 24 <td>要素2</td> 25 <td> 26 <input id ="part1" type="button" value="実行" onclick="execute()"> 27 </td> 28 </tr> 29 </table> 30</body> 31</html>
試したこと
・原因究明時、属性の値である「part1」「part2」を表示させることは成功しましたが、
どうしても「part3」を表示させることが出来ません。
・getElementByIdを用いて、直接<table id ="part3">の要素を取得した結果は、object HTML Table Elementで、
parentNodeを複数回使って親ノードへ辿った結果はobject HTML Table Section Elementでした。
→alert(document.getElementById("part3") == start.parentNode.parentNode.parentNode);
→falseが返される
・初心者で質問下手だと思いますが、子ノードから親ノードへ辿った上で、idの値である「part3」を取得する方法を御教示下さい。
よろしくお願いします。
ここにより詳細な情報を記載してください。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/28 10:05