2016-05-22 3 views
-1

です。IDを使用してJavaScriptコードから値を取得しようとしています。現在のIDが保持している値が必要です。ここでHTMLコードがある:ここでHTMLにアクセスするJavaScriptのIDは

<!DOCTYPE html> 
<html lang="en"> 

<head> 

<link href="site.css" rel="stylesheet"> 

<title>This is my website</title> 

</head> 

<body> 

<header align="center" id="head01"></header> 

<p id="HouseName05"></p> 

<footer id="foot01" align="center"></footer> 

<script src="JavaS.js"></script> 

</body> 
</html> 

のJavaScriptコードは、次のとおり

document.getElementById("foot01").innerHTML = "&copy; " + new Date().getFullYear() + " Dane. All rights reserved."; 
document.getElementById("head01").innerHTML = "Dane & Co"; 

document.getElementById("HouseName01").innerHTML = "House 1 name"; 
document.getElementById("HouseAddress01").innerHTML = "House 1 address"; 
document.getElementById("HouseImage01").setAttribute("src", "C:/Users/currys/Pictures/House01.jpg"); 

document.getElementById("HouseName02").innerHTML = "House 2 name"; 
document.getElementById("HouseAddress02").innerHTML = "House 2 address"; 

document.getElementById("HouseName03").innerHTML = "House 3 name"; 
document.getElementById("HouseAddress03").innerHTML = "House 3 address"; 

document.getElementById("HouseName04").innerHTML = "House 4 name"; 
document.getElementById("HouseAddress04").innerHTML = "House 4 address"; 

document.getElementById("HouseName05").innerHTML = "House 5 name"; 
document.getElementById("HouseAddress05").innerHTML = "House 5 address"; 

document.getElementById("HouseName06").innerHTML = "House 6 name"; 
document.getElementById("HouseAddress06").innerHTML = "House 6 address"; 

iは、ヘッダーとフッター表示IDが同じで保持されている正しい値を、HTMLコードを実行すると「head01」と「foot01」に変更します。何らかの理由で私がID "HouseName05"で値を呼び出すと何も表示されません。このページでは、javascript idの他の部分はヘッダーフッターとHouseName05だけを必要としません。

+0

のような機能を使用することができ、これはあなたの実際のコードですか?私にはうまく見えます。あなたはどこかでタイプミスをしたのでしょうか? – putvande

+3

コンソールを確認してください。 'HouseName01' IDを持つ要素がないので、コードは失敗します(' null'のプロパティー 'innerHTML'へのアクセスを試みます)。ここで何をしたいのかははっきりしませんが、DOMからフェッチされた要素のプロパティを変更する前に(getElement ..または他のセレクタを使用して)、結果がそこにあることを確認してください( 'null'ではありません)。 – raina77ow

+1

彼は 'head01'を持っていますが、' HouseName05'以外の 'House ... 'はありません。 – putvande

答えて

0

コンソールエラーによると、エレメントにhtmlを設定する前に、エレメントが文書内にあるかどうかを確認する必要があります。これを行う関数を作成することができます。

var setInnerHtml = function(id, text) 
{ 
    if(document.getElementById(id) !== null) 
    { 
     document.getElementById(id).innerHTML = text; 
    } 
} 

次に、あなたは

setInnerHtml("head01", "Dane & Co"); 

FIDDLE DEMO HERE

+0

?致命的な音;) –

関連する問題