jQuery インサート div as certain index
2023-08-19 19:42:25
質問
これがあるとします。
<div id="controller">
<div id="first">1</div>
<div id="second>2</div>
</div>
というのは、新しい div をインデックスに基づいて任意に挿入したいとします。
挿入するインデックスに0を与えたとすると、結果はこうなるはずです。
<div id="controller">
<div id="new">new</div>
<div id="first">1</div>
<div id="second">2</div>
</div>
で、挿入するインデックスを2にすると、結果はこうなります。
<div id="controller">
<div id="first">1</div>
<div id="second">2</div>
<div id="new">new</div>
</div>
で、インデックスを1にすると結果はこうなります。
<div id="controller">
<div id="first">1</div>
<div id="new">new</div>
<div id="second">2</div>
</div>
は、最後の例の書式は忘れてください。このサイトでHTMLコードをコピー&ペーストするという単純な行為は、私が悲鳴をあげ、髪を引き抜くほど恐ろしいもので、これ以上それをいじることに時間を費やしたくはありません。
どのように解決するのですか?
0の扱いを少し良くした関数として。
function insertAtIndex(i) {
if(i === 0) {
$("#controller").prepend("<div>okay things</div>");
return;
}
$("#controller > div:nth-child(" + (i) + ")").after("<div>great things</div>");
}
編集:NaN エラーを避けるために、nth-child セレクタに括弧を追加しました。ホフナーウィリー
function insertAtIndex(i) {
if(i === 0) {
$("#controller").prepend("<div>okay things</div>");
return;
}
$("#controller > div:nth-child(" + (i) + ")").after("<div>great things</div>");
}
window.doInsert = function(){
insertAtIndex(2);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="controller">
<div>Item 1</div>
<div>Item 2</div>
<div>Item 4</div>
<div>Item 5</div>
</div>
<button onclick="doInsert()">Insert "great things" at index 2.</button>
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] jQuery UI DatePicker - 日付フォーマットの変更
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み】$(window).width()がメディアクエリとは違う
-
[解決済み】iPad版SafariでjQueryを使ってタッチイベントを認識させる方法は?可能でしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jquery mobileでページ中央のグリッド表示
-
[解決済み] クラスメソッド内の "this "をタイプスクリプトで記述する
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] GoogleのホストされたjQueryを使用する最良の方法、しかしGoogleの私のホストされたライブラリにフォールバックすることは失敗します。
-
[解決済み] 動的に生成された要素でクリックイベントが動作しない [duplicate]
-
[解決済み] jQueryを使ってロールオーバー時に画像ソースを変更する
-
[解決済み] jquery input select all on focus
-
[解決済み] jQuery / JavaScriptでJSONデータをパースする方法は?
-
[解決済み] Jqueryのコードはヘッダーとフッターのどちらに入れるべきですか?
-
[解決済み] jQueryで<input type="text">のonchangeを実装するには?