[解決済み] JavaScriptでDIVの幅と高さを設定する
質問
私は
div
と
id="div_register"
. を設定したいのですが
width
をJavaScriptで動的に設定したい。
私は以下のコードを使っています。
getElementById('div_register').style.width=500;
が、このコードの行は機能していません。
また、単位を
px
を使ってみましたが、まだうまくいきません。
getElementById('div_register').style.width='500px';
と
getElementById('div_register').style.width='500';
と
getElementById('div_register').style.width=500px;
が、このコードのどれもが私には機能していません。
何が間違っているのかわかりません。
Mozilla Firefoxを使用しています。
EDIT
<html>
<head>
<title>Untitled</title>
<script>
function show_update_profile() {
document.getElementById('black_fade').style.display='block';
//document.getElementById.('div_register').style.left=((window.innerWidth)-500)/20;
document.getElementById('div_register').style.height= "500px";
document.getElementById('div_register').style.width= '500px';
//alert('kutta');
document.getElementById('div_register').style.display='block';
document.getElementById('register_flag').value= 1;
document.getElementById('physical_flag').value= 0;
document.getElementById('cultural_flag').value= 0;
document.getElementById('professional_flag').value= 0;
document.getElementById('lifestyle_flag').value= 0;
document.getElementById('hobby_flag').value= 0;
//alert(window.innerWidth);
}
</script>
<style>
.white_content {
display:none;
}
</style>
</head>
<body>
<div id="main">
<input type="button" onclick="javascript:show_update_profile();" id="show" name="show" value="show"/>
</div>
<div id="div_register">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
welcome
</td>
</tr>
</table>
</div>
</body>
</html>
どのように解決するのですか?
FirefoxやChromeなど、IE以外のブラウザでは、使用しているプロパティが動作しない場合があります。すべてのブラウザで動作させるためには、以下を追加することもお勧めします。
document.getElementById('div_register').setAttribute("style","width:500px");
クロスコンパチビリティのために、やはりプロパティを使用する必要があります。順序も重要かもしれません。たとえば、私のコードでは、JavaScript でスタイル プロパティを設定する場合、まず style 属性を設定し、次にプロパティを設定します。
document.getElementById("mydiv").setAttribute("style","display:block;cursor:pointer;cursor:hand;");
document.getElementById("mydiv").style.display = "block";
document.getElementById("mydiv").style.cursor = "hand";
したがって、あなたにとって最もクロスブラウザ互換性のある例は、次のようになります。
document.getElementById('div_register').setAttribute("style","display:block;width:500px");
document.getElementById('div_register').style.width='500px';
また、スタイルを管理するもっと簡単な方法は、CSS クラスセレクタを使用して、スタイルを外部 CSS ファイルに配置することです。コードがより保守的になるだけでなく、ウェブデザイナーと実際に友達になれるかもしれませんよ。
document.getElementById("div_register").setAttribute("class","wide");
.wide {
display:block;
width:500px;
}
.hide {
display:none;
}
.narrow {
display:block;
width:100px;
}
これで、複数のプロパティを呼び出す代わりに、class属性、つまり1つのプロパティを追加したり削除したりするだけで、簡単にできるようになりました。さらに、ウェブデザイナーが「幅が広い」という意味の定義を変更したいとき、美しく維持されている JavaScript のコードを探し回る必要がありません。JavaScript のコードはそのままで、アプリケーションのテーマを簡単にカスタマイズすることができます。
このテクニックは、コンテンツ (HTML) と動作 (JavaScript) およびプレゼンテーション (CSS) を分離するというルールに従ったものです。
関連
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】 Uncaught TypeError : undefined のプロパティ 'replace' を読み取れない In Grid
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vueネットワークリクエストソリューション ネイティブネットワークリクエストとjsネットワークリクエストライブラリ
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
vueのグローバルがscss(mixin)を導入。
-
vueにおけるv-forループオブジェクトのプロパティ
-
[解決済み] テスト
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】GETできない / Nodejsエラー
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
[解決済み】TypeScript-のAngular Frameworkエラー - "exportAsがngFormに設定されたディレクティブはありません"
-
[解決済み】(Google Map API) Geocodeは以下の理由で成功しませんでした。REQUEST_DENIED