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

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

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

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

Q&A

1回答

3884閲覧

動的に変化するid名の取得と、DOM操作

kinomi

総合スコア7

jQuery

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

0グッド

0クリップ

投稿2016/03/20 23:40

【もとのソース】

<div class="wrap"> <div class="Item " id="動的に変化"> <div class="title">タイトル</div> <a href="https://xxxnet.jp/salon_p/jb_◯◯/"><img></a>【←idに合わせて動的に変化】 <p class="lead"> <a href="https://xxxnet.jp/salon_p/jb_◯◯/"></a>【←idに合わせて動的に変化】 </p> <div></div> <div></div> </div> <div class="Item " id="動的に変化"> <div class="title">タイトル</div> <a href="https://xxxnet.jp/salon_p/jb_◯◯/"><img></a>【←idに合わせて動的に変化】 <p class="lead"> <a href="https://xxxnet.jp/salon_p/jb_◯◯/"></a>【←idに合わせて動的に変化】 </p> <div></div> <div></div> </div> …同じようにしばらく続く </div>

元々、↑のようなソースですが、動的に変化するid名と、それに応じて変化するa要素を取得して、
a要素を複製させ、下2つのdivをwrapしたい。もしくは、div要素の中身のコンテンツをwrapしたいです。


【理想】

<div class="Item " id="動的に変化"> <div class="title">タイトル</div> <a href="https://xxxnet.jp/salon_p/jb_◯◯/"><img></a>【←idに合わせて動的に変化】 <p class="lead"> <a href="https://xxxnet.jp/salon_p/jb_◯◯/"></a>【←idに合わせて動的に変化】 </p> <a href="https://xxxnet.jp/salon_p/jb_◯◯/"> <div></div> <div></div> </a> </div>

現在、↓のようなソースでa要素を複製できたのですが、どうすれば下のdiv要素をwrapできるのでしょうか。
また、divクリックしたときに指定されたページに飛ぶのが目的なのですが、リンクのテキストは必要ないので、文字を表示させないようにする方法も教えていただけないでしょうか。


【現在】

var list = [];

$(".Item").each(function() {

list.push($(this).attr('id')); $(this).children("lead > a").clone().prependTo(this);

});

<a href="https://xxxnet.jp/salon_p/jb_◯◯/">テキストテキスト</a>

<div class="Item " id="動的に変化"> <div class="title">タイトル</div> <a href="https://xxxnet.jp/salon_p/jb_◯◯/"><img></a>【←idに合わせて動的に変化】 <p class="lead"> <a href="https://xxxnet.jp/salon_p/jb_◯◯/"></a>【←idに合わせて動的に変化】 </p> <div></div> <div></div> </div>

どうぞよろしくお願いします。

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

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

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

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

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

guest

回答1

0

なんか、前の質問と似たような感じですね・・・

p.leadの要素が特定できるなら、
$('p.lead').nextAll()で以降の要素が取得できます。
そのdiv要素の中身にaタグを追加します。
そのうえで、追加したa要素を

CSS

1a.追加したクラス { 2 display:block; 3 width:100%; 4 height:100%; 5} 6```などと定義すれば、いっぱいに広がります。

投稿2016/03/21 01:10

shi_ue

総合スコア4437

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

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

kinomi

2016/03/21 08:09

shi_ueさん ご回答ありがとうございました。 無事、思い通りに動いてくれました! 感謝いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問