お世話になります。Jqueryで調べても分からないことがあるので質問します。
$(document).ready(function(){
$("dl dd:last-child").after("<dd/>");
});
と書いているのですが、ddの数が奇数で終わると表示ずれをしてしまうため、
「最後の子要素が 奇数の時だけ」
.after("<dd/>")
としたいのですが、どのように指定したらいいのか分かりません!分かる方、ぜひ教えてください!

A 回答 (4件)

No.3 訂正。


・dd だけの奇数番目なら
× dl > dd:last-child:nth-child(2n+1)
○ dl > dd:last-child:nth-of-type(2n+1)

また、今少しソースコードを見てみた所、jQuery.after(string) はいったん DocumentFragment を生成してから挿入しますので、『DOM 木が狂うかもしれません』は杞憂です。失礼しました。

ただ、繰り返しますが <dd/> は HTML5 で構文違反になりますのでご注意下さい。
    • good
    • 0

Selectors Level 3 ならば:



・dt|dd 全体での奇数番目なら dl > dd:last-child:nth-child(2n+1)
・dd だけの奇数番目なら dl > dd:last-child:nth-child(2n+1)

最近のブラウザなら :nth-child、:nth-of-type に対応していますし(=querySelectorAll で扱える=jQuery が最初に試す)、Sizzle(querySelectorAll が失敗した際に用いられる jQuery の現セレクタエンジン)も一応は対応していたはずです。

jQuery のコールバック関数の中で何度もセレクタ解析&マッチングさせるのは極めて非効率ですので、ズバリのセレクタを 1 つ書くか、もしくはキャッシュをフル活用しましょう。

※なお、HTML として処理させるなら NET を使わずに <dd></dd> として下さい。HTML5 のパーサは、決まった要素以外の開始タグ内の / 構文違反と見なし、無視することになっています。つまり、<dd/> は <dd> と同義です。終了タグ </dd> は省略可能ですが、開始タグ <dd> だけを途中に挿入・再パースすることで DOM 木が狂うかもしれません。
    • good
    • 0

間違え訂正


if(!$("dl dd").length%2==0){
$("dl dd:last-child").after("<dd/>");
}
ですが、レイアウト調整のためだけに空の<dd>を
作ると誰かに怒られそうなので、
おそらくfloatさせて複数列作ってらっしゃるのでしょうから
次のように
    • good
    • 0

先に


$("dl dd:last-child").length
でdd要素の個数を数えておいた上でやるのではだめですか
if(!$("dl dd:last-child").length%2==0){
$("dl dd:last-child").after("<dd/>");
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

  • カウントダウンしたいことある?

    大晦日は、2011年最後の1日です。天皇陛下が「心の重い年」と表現されたように、3月11日の未曽有の大惨事は本当に大変な出来事でした。今年の漢字として選ばれた「絆」が我々にとって大切なものであると強く感じさせ...

  • 【余ったそうめんを大活用!】そうめんお好み焼き

    食欲の出ない夏場に、大活躍のそうめん。ついついゆですぎてしまって、余らせてしまうという人も多いだろう。翌日は、余ったそうめんを炒めてチャンプルーにしてみたりとアレンジしてはみるものの、やはりさすがに飽...

  • 教えて! しりもと博士:第79話「換気扇」

    なんでも知っているしりもと博士が、ボーイとガールにいろいろな事を教えてくれます。 二人がこの世の全てを学ぶまで博士は教える事をやめません。

  • サラ忍マン 良太郎:第57話「帰宅時間」

    忍(しのび)の末裔、現代サラリーマン平野良太郎。世知辛い世の中を耐え忍ぶ企業戦士サラ忍マンとして、日々戦う。

  • 怒っている?外国語がキツく感じる心理学的理由

    日本政府観光局の調査では、2015年の訪日外国人の数は約1,973万7千人に達したという。また、実感としてはオフィスにいる外国出身者の数も増えているように思える。こうした中、英語や中国語をはじめ、さまざまな外国...

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ