
No.3ベストアンサー
- 回答日時:
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 木が狂うかもしれません。
No.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 で構文違反になりますのでご注意下さい。
No.2
- 回答日時:
間違え訂正
if(!$("dl dd").length%2==0){
$("dl dd:last-child").after("<dd/>");
}
ですが、レイアウト調整のためだけに空の<dd>を
作ると誰かに怒られそうなので、
おそらくfloatさせて複数列作ってらっしゃるのでしょうから
次のように
No.1
- 回答日時:
先に
$("dl dd:last-child").length
でdd要素の個数を数えておいた上でやるのではだめですか
if(!$("dl dd:last-child").length%2==0){
$("dl dd:last-child").after("<dd/>");
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript プラグイン無しでContactform7にdatepickerを実装 3 2022/10/25 02:18
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- MySQL SQLについて質問です。 SELECT TO_CHAR(TO_DATE('90-10-08.'YY- 4 2022/05/13 20:55
- Access(アクセス) エクセルのVBAについて教えてください。 4 2023/01/21 10:21
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- HTML・CSS HTMLのdlとul どちらが正しいと思いますか 3 2023/02/23 11:20
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Excel(エクセル) Excel 数行を1組とする300組ほどあるデータの項目を揃えたいです。 3 2023/01/26 19:38
- 生物学 今の科学でお酒の強さを遺伝子レベルで変えることはできますか? 3 2022/09/04 12:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
出発駅A、到着駅Bを選択すると...
-
フォームが空欄の時にフォーム...
-
ブラウザの横幅に応じてとある...
-
jsで、配列内の文章を改行する...
-
タグを教えてください。
-
セレクトを全て選択されていな...
-
変数宣言と初期値代入の場所に...
-
ラジオボタンを複数選択したと...
-
jsで質問です。 formをsubmitし...
-
2025年相性がいい人のサイトの...
-
CookieをWebStoeageに変える
-
Adobe acrobat proでフォームを...
-
Outlookのアカウントがあるとメ...
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
-
<div>のタッチ状態を維持したま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
階層別の組織図の自動作成について
-
jQueryのアコーディオン一番目...
-
jquery.validationEngine.js 添...
-
Rails3でのクリックされたボタ...
-
アコーディオンメニューが他に...
-
絞り込み検索の後にソートを追...
-
jquery-1.3.2⇒○ 1.6.4.⇒エラー
-
アコーディオンjquery
-
jqueryについてです
-
jQuery 読み込み
-
【JQuery】iframeのリンク先変...
-
jQeryのエラーについて(ページ...
-
アコーディオンメニューをブラ...
-
jqueryの応用ができなくて困っ...
-
wordpressでcookie.jsを使う
-
jqueryのプラグインについて
-
Javascriptを使ってQRコード読...
-
jQueryで外部テキストファイル...
-
SQLのmaxで求めた値を変数に代...
-
JavascriptからPHPへのAjax通信...
おすすめ情報