質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

724閲覧

javascriptでhtmlのタグ<table id="list-xxx">の"xxx"の部分を変数にして書き出していきたいのですが、良い方法はないでしょうか?

FumihitoMuraoka

総合スコア6

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/04/12 09:22

javascriptでhtmlのタグ<table id="list-xxx">の"xxx"の部分を変数にして書き出していきたいのですが、良い方法はないでしょうか? ※ループでhtmlを書き出すのでjavascriptは複数回呼ばれます。
イメージ的には以下です。

<html> <head> </head> <body> <table id="list-xxx"> <tr> <td> テスト1 </td> </tr> </table> <script> var = list-xxx; list-xxx = list-xxx + 1; </script> <table id="list-xxx"> <tr> <td> テスト2 </td> </tr> </table> <script> var = list-xxx; list-xxx = list-xxx + 1; </script> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/04/12 09:25

なぜそのようなIDを振らなければならないのでしょうか?
yambejp

2021/04/12 09:31

xxxという提示の仕方はNG 001、002、003・・・としたいのか 1、2、3・・・としたいのか 他になにかあるのか、0が始まりなのか・・・ など仕様が決まらないことにはなにも回答ができません
FumihitoMuraoka

2021/04/12 09:40 編集

現在使用している某ツールが、<td>要素内にリストを書き出す仕組みのため、以下の例では1行目と2行目、3行目と4行目、5行目と6行目がそれぞれ<table>タグに囲まれてしまうため、tableタグにidを振って、javascriptで<td>要素の1行目を削除しようとしています。 以下の例では3行目と5行目を削除したいのです。 1行目:データ1のカラム 2行目:データ1の内容 3行目:データ2のカラム 4行目:データ2の内容 5行目:データ3のカラム 6行目:データ3の内容
FumihitoMuraoka

2021/04/12 09:37

単純にlist-1、list-2、list-3としていきたいです。
guest

回答1

0

ベストアンサー

javascript

1<script> 2$(function(){ 3 $('table').attr('id',function(){return "list-"+($('table').index(this)+1)}); 4}); 5</script> 6<table></table> 7<table></table> 8<table></table>

投稿2021/04/12 09:40

yambejp

総合スコア116734

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

FumihitoMuraoka

2021/04/12 09:58 編集

yambejp様 お忙しい中、ご回答を頂き、ありがとうございます。 出力する<td>要素内の<table>タグ以外にも<table>タグがあるのですが、そちらには影響しないのでしょうか? 以下のC~Eの範囲のみ適用されるのでしょうか? <table id="top"> ・・・ A : </table> <table> ・・・ B <tr> <td> <table></table> ・・・ C <script>※上記ご回答頂いた処理</script> <table></table> ・・・ D <script>※上記ご回答頂いた処理</script> <table></table> ・・・ E <script>※上記ご回答頂いた処理</script> </td> </tr> </table>
yambejp

2021/04/12 10:03 編集

idを振るものと振らないものを何で判断すればいいですか? table内のtableにだけ振るんですか?
yambejp

2021/04/12 10:03

<script> $(function(){ $('table table').attr('id',function(){return "list-"+($('table table').index(this)+1)}); }); </script> <table></table> <table> <tr> <td> <table></table> <table></table> <table></table> </td> <td> <table></table> <table></table> <table></table> </td> </tr> </table>
FumihitoMuraoka

2021/04/12 10:12 編集

はい。 <td>タグの中にある<table>タグにのみidを振りたいです。 某ツールでHTMLを書き出すと以下のようになってしまうのでコントロールしたいです。 <table> <tr> <td> <table> <tr> <th>見出し1</th> <td>データ1</td> </tr> </table> <script> $(function(){ $('table table').attr('id',function(){return "list-"+($('table table').index(this)+1)}); }); </script> <table> <tr> <th>見出し2</th> <td>データ2</td> </tr> </table> <script> $(function(){ $('table table').attr('id',function(){return "list-"+($('table table').index(this)+1)}); }); </script> <table> <tr> <th>見出し3</th> <td>データ3</td> </tr> </table> <script> $(function(){ $('table table').attr('id',function(){return "list-"+($('table table').index(this)+1)}); }); </script> </td> </tr> </table>
yambejp

2021/04/12 10:09

入れ違いで失礼、sampleつけてありますのでご確認ください ただし・・・ テーブルの中のテーブルというのは論理的な構造としては おかしいので、あまりおすすめはいたしません。 もし表示の位置調整のためにテーブルを利用しているなら 改めたほうがよいでしょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問