私は既存の要素を取得するために実行しようとしているコードをいくつか持っていますが、開発者コンソールに存在していてもnullを返しています。私は電話をかける前にウィンドウがロードされるまで待つことについていくつかのことを読んだが、これを入れようとしているコードは起動時には実行されず、ユーザのアクションがあるまで待っている。document.getElementByIdは作成後もnullを返しています
私も次のことを実行しているし、それはnullを返します。これはnullを返す理由
massText = document.createElement('mass_div');
console.log(document.getElementById('mass_div'));
誰も教えてもらえますか?私は要素を作成したので、なぜそれを得ることができないのですか?私は起動時に最初にそれを作ってみることさえしようとしましたが、それを取得してもまだnullを返します。ここではより多くのコンテキストで
massText.innerHTML = "blah";
:私は、既存の要素を編集することができだけではなく、私がやることで、その表示テキストを変更するために、それらを作成しておくのが大好きです。それは、まさにこのようではありません。
//lots of functions that create a model and then call this update method. Called every 500ms
function updateText() {
massText = document.createElement('mass_div');
massText.style.position = 'absolute';
massText.style.width = 100;
massText.style.height = 100;
massText.style.backgroundColor = "green";
massText.innerHTML = "Mass of the star is " + matches[pos] + " Solar Masses";
massText.style.top = window.innerHeight/10 + 'px';
massText.style.left = window.innerWidth/50 + 'px';
document.body.appendChild(massText);
}
これは、要素「mass_div」のコピーのトンを作成
私はこのような何かをすることによってこれらを追加したいと思いますが、それはmassTextが
function updateText() {
if (document.getElementById('mass_div') == null){
massText = document.createElement('mass_div');
}else {
massText=document.getElementById('mass_div');
}
massText.style.position = 'absolute';
massText.style.width = 100;
massText.style.height = 100;
massText.style.backgroundColor = "green";
massText.innerHTML = "Mass of the star is " + matches[pos] + " Solar Masses";
massText.style.top = window.innerHeight/10 + 'px';
massText.style.left = window.innerWidth/50 + 'px';
document.body.appendChild(massText);
}
nullであると言います
あなたは2を持っているあなたのコードで
var massText = document.createElement('div');
massText.id='mass_div'
document.appendChild(massText)
console.log(document.getElementById('mass_div')); //This is working
を:あなたが行う必要があり、これが機能するために
参照コードを追加できますか? –
@DWigleyあなたは[mcve]を含める必要があります。あなたが経験している問題は文脈(あなたが指摘しているように)であるかもしれないので、これは特に重要です。 – Tibrogargan
まだDOMに「追加」されていないので、 'getElementById()'はDOMからelemnetを取得します。あなたは 'massText.innerHTML =" blah ";'と入力してDOMの中の何かに追加することができます。 –