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

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

新規登録して質問してみよう
ただいま回答率
85.49%
関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

265閲覧

[jQuery]数字だけ変えて、関数としてまとめたい

yui-chan

総合スコア18

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2018/11/29 11:59

編集2018/11/29 13:59

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
jQuetyで韓国語の勉強法に対するWebサイトを作っています。

発生している問題・エラーメッセージ

目次を作ってるんですが、その目次を実際に記事を書く前のところに自動で呼び出したいのです。できることにはできるんですが、長いし、関数とか、繰り返し処理でまとめたいです。

例えば、
[目次]
1韓国語の可愛さ
2韓国語の面白さ
3韓国語の簡単さ

っていう目次があったとして、

1韓国語の面白さ  <==== ここを目次のHTMLから自動で引っ張ってきたいんです

記事が続く。。。

html

1 2<div class="contents"> 3 <p>No.1/100</p> 4 <a href="#" class="document1">韓国語大好き</a> 5 <a href="#" class="document2">韓国語面白い</a> 6 <a href="#" class="document3">韓国語楽しい</a> 7 </div> 8 <div> 9 <span id="title-1"></span> 10 </div> 11 <div> 12 <span id="title-2"></span> 13 </div> 14 <div> 15 <span id="title-3"></span> 16 </div> 17

jQuery

1 2$(function(){ 3 var title1=$('.document1').text(); 4 $('#title-1').text(title1); 5 6 var title2=$('.document2').text(); 7 $('#title-2').text(title2); 8 9 var title3=$('.document3').text(); 10 $('#title-3').text(title3); 11}); 12

試したこと

for文で数字のところだけ変えられないか試したんですが、、、なかなかやり方がわかりませんでした。
変数の定義をしたりしたのですが、組み込ませ方がよくわかりませんでした。
ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

kei344

2018/11/29 13:39

(質問文は編集できます)質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
kei344

2018/11/30 03:59

まだ質問が「受付中」になっていますが、いったん「解決済」にされてはいかがでしょうか。また、解決されていないなら状況を質問文に追記ください。
guest

回答2

0

既に回答ありましたので
classやidが関係無い場合の別解として参考にしてください

html

1 <div> <!-- 追加 --> 2 <div> 3 <span id="title-1"></span> 4 </div> 5 <div> 6 <span id="title-2"></span> 7 </div> 8 <div> 9 <span id="title-3"></span> 10 </div> 11 </div> <!-- 追加 -->

js

1 $(function() { 2 var toc = $('.contents a'); 3 4 for(var i = 0; i < toc.length; i++) { 5 var text = toc.eq(i).text(); 6 $('div div').eq(i).find('span').text(text); 7 } 8 });

投稿2018/11/29 15:19

編集2018/11/29 15:27
akihiro3

総合スコア955

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

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

yui-chan

2018/11/29 23:15

回答ありがとうございます! なるほど!lengthを使えば一般化できていいですね あと、eqメゾットでやろうとしたんですが、こうすればできたんですね^^
guest

0

ベストアンサー

JavaScript

1$( function() { 2 for ( var i = 1; i < 4; i++ ) 3 $( '#title-' + i ).text( $( '.document' + i ).text() ); 4 } 5} );

投稿2018/11/29 14:39

kei344

総合スコア69398

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

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

akihiro3

2018/11/29 15:31

既に回答ありましたし 私よりシンプルな素晴らしい回答です 勉強になります
yui-chan

2018/11/29 23:15

すごいシンプルですね! 変数の定義のところを使うだけでできたとは、、、 にしてもこのサイトは最高ですね!!!こんないいサービスがあるなんて感激で興奮が止まりません笑笑
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問