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

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

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

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

jQuery

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

670閲覧

[jQuery]それぞれのリスト内で並び替えたい

chibi_rok

総合スコア10

JavaScript

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

jQuery

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2017/07/13 12:42

苦手なjQueryで悩んでおり、どうかご教授いただければと思います。

各リスト内で<div class="b"></div><div class="c"></div>の順番を並び替えたいのですが、.beforeもしくは.afterで並び替えをすると以降全ての<div class="b"></div>もしくは<div class="c"></div>が入ってしまい、困っております。

隣接セレクタを使用してみたりしたのですが、解決になりませんでした。

私の書き方が悪いと思いますので、解決方法をご教授いただければ幸いです。

html

1<!DOCTYPE html> 2<html> 3<head> 4<script src="../js/jquery-3.1.1.min.js"></script> 5<style type="text/css"> 6.test div {float: left;} 7</style> 8</head> 9<body> 10<ul class="test"> 11<li> 12<div class="a"></div> 13<div class="b"></div> 14<div class="c"></div> 15</li> 16<li> 17<div class="a"></div> 18<div class="b"></div> 19<div class="c"></div> 20</li> 21<li> 22<div class="a"></div> 23<div class="b"></div> 24<div class="c"></div> 25</li> 26</ul> 27</body> 28</html>

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

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

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

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

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

s8_chu

2017/07/13 12:48

「以降全てのclass="b", class="c"が入ってしまう」とはどういう意味でしょうか?もし並び替えるときの制約があるならば追記していただけませんか?
chibi_rok

2017/07/13 13:08

修正している間に、別の方に解決していただきました。きちんと伝わっておらず、すみませんでした。
guest

回答2

0

ベストアンサー

期待値として、各liタグの中身が以下のようなタグの順番になってほしいのであれば、

html

1<li> 2<div class="a"></div> 3<div class="c"></div> 4<div class="b"></div> 5</li>

以下のようなJSで可能かと。

javascript

1$('li') 2 .each(function (index, li) { 3 var $li = $(li); 4 var $b = $li.find('.b'); 5 var $c = $li.find('.c'); 6 7 $b.before($c); 8 });

https://jsfiddle.net/takmatz/fat1y3op/

投稿2017/07/13 12:57

編集2017/07/13 12:58
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

chibi_rok

2017/07/13 13:06

期待値はおっしゃる通りで、こちらのコードで試したところ、解決いたしました。 本当にありがとうございました。
guest

0

ご希望の最終形がわかりませんが、bとcを入れ替えるならこんな感じでは?

javascript

1$(function(){ 2 $('.b').each(function(){ 3 $(this).next('.c').after($(this)); 4 }); 5}); 6

投稿2017/07/13 13:00

yambejp

総合スコア114839

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

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

chibi_rok

2017/07/13 13:07

先にいただいた回答で解決いたしました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問