テーブルのセルに特定の文字列を挿入する方法は御座いませんか?
例えば、
HTMLファイル
<html>
<head>
</head>
<body>
<table>
<tr><td> (1) </td><td> (2) </td></tr>
<tr><td> (3) </td><td> (4) </td></tr>
</table>
</body>
</html>
とあった場合
JavaScriptファルには
(1)に挿入する内容
(2)に挿入する内容
(3)に挿入する内容
(4)に挿入する内容
を書いてHTMLファイルに書き出しをしたいのです。
document.write('');を使って書き出す方法は知っていますが、指定した場所に貼り付けたい場合複数ファイルが必要になりますよね?
それでは不便なので、JavaScriptファルは外部化で1つのファイルにし、指定箇所に文字列を挿入する方法を教えてください。
printを使えばいいんでしょうか?
No.2ベストアンサー
- 回答日時:
いちばん簡単なのはtdにidを振ることかなぁ
<html>
<head>
<script>
window.onload=function(){
document.getElementById("td1").innerHTML="1の変化後";
document.getElementById("td2").innerHTML="2の変化後";
document.getElementById("td3").innerHTML="3の変化後";
document.getElementById("td4").innerHTML="4の変化後";
}
</script>
</head>
<body>
<table>
<tr><td id="td1">(1)</td><td id="td2">(2)</td></tr>
<tr><td id="td3">(3)</td><td id="td4">(4)</td></tr>
</table>
</body>
</html>
No.3
- 回答日時:
セルの内容の指定をわかりやすく、こんな感じでどうでしょう。
---
<html>
<head>
<script type="text/javascript"><!--
window.onload = function(){
var content = [
['(1)->(a)', '(2)->(b)'], // 1行目
['(3)->(c)', '(4)->(d)'] // 2行目
];
var tbl = document.getElementById('tbl');
var numOfRows = tbl.getElementsByTagName('tr').length;
var numOfCells = tbl.getElementsByTagName('tr')[0].getElementsByTagName('td').length;
for (var i = 0; i < numOfRows; i++) {
for (var j = 0; j < numOfCells; j++) {
var cell = tbl.getElementsByTagName('tr')[i].getElementsByTagName('td')[j]
cell.firstChild.nodeValue = content[i][j]; // この行をコメントアウトすれば変更前の表が表示されます
}
}
};
// --></script>
</head>
<body>
<table id="tbl">
<tr><td> (1) </td><td> (2) </td></tr>
<tr><td> (3) </td><td> (4) </td></tr>
</table>
</body>
</html>
この回答への補足
早速回答ありがとうございます。
こちらの場合ちょっと複雑なテーブルになるとJavaScriptの方が大変そうですね^^;なので、今回はNo2さんのを参考にさせていただく事になりました。
No.1
- 回答日時:
こんな雰囲気のことでしょうか?
<html>
<head>
<script>
function change(){
var td = document.getElementById('test').getElementsByTagName('td');
for (var i=0; i<td.length; i++){
// 順番にn番目のtdはtd[n-1] :(添字は0からスタート)
td[i].innerHTML = (i+1)+"番を<br>変えてみました";
}
}
</script>
</head>
<body>
<table border=1 id="test">
<tr><td> (1) </td><td> (2) </td></tr>
<tr><td> (3) </td><td> (4) </td></tr>
</table>
<p>
<input type="button" onclick="change()" value="変更テスト">
</body>
</html>
この回答への補足
早速回答ありがとうございます。
求めてたのとちょっと違いました。
ボタンは付けるわけではなくただ単にJavaScriptに入力した内容をHTMLに飛ばして表示したかったんですよ。
なので、今回はNo2さんのを使う事にしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リンク色の変更
-
tableの任意行にfocusをあてる
-
TD内のチェックボックスの位置...
-
ラジオボタンとセルの連動
-
特定<table>内の<td>の色を変える
-
テーブルの変数について
-
JavaScriptで特定のtdタグにcla...
-
セルをドラッグで選択するときに、
-
ハイパーリンクを別ウインドウ...
-
PERL
-
JQueryでクリックされた文字を...
-
一覧から選択した行の行番号を...
-
netscapeでもinnerTextやinnner...
-
JavaScriptでテーブルをクリッ...
-
階層式メニューをtableタグ内に
-
【UWSC】HTML内のある部分を抽...
-
JavaScriptでテーブルの行入れ替え
-
return trueとreturn falseの用...
-
テキストボックス入力を半角英...
-
onClick="this.form.submit
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jsで質問です。 displayプロパ...
-
javascriptで質問です。 displa...
-
ハイパーリンクを別ウインドウ...
-
JavaScriptで特定のtdタグにcla...
-
プルダウンで選択すると、DBの...
-
一覧から選択した行の行番号を...
-
tableの任意行にfocusをあてる
-
至急!GetElementById でtdの...
-
特定<table>内の<td>の色を変える
-
マウスをブラウザの外に出した...
-
添付画像のようなhtmlとcssのス...
-
スクロールバーの表示位置を変...
-
クリックされた罫表セルの行番...
-
チェックボックスにチェックが...
-
JavaScriptでテーブルの行入れ替え
-
HTML中のTABLEのデータを抽出す...
-
jquery datatablesを使用 イン...
-
JavaScriptでテーブルをクリッ...
-
階層式メニューをtableタグ内に
-
マウスオーバー時テーブルの背...
おすすめ情報