選択した要素を他の要素に置き換える簡単な方法はありますか?jQuery:要素を他の要素に置き換えますか?
私はreplaceWith
と考えていましたが、実際にはすべてのオカレンスが提供された要素で置き換えられました。だから、私の場合は、実際には要素を複製します(すべてのオカレンスのために)。
は、この例を考えてみましょう:
var html = '<option value="8">15% Discount</option><option value="9">18% Discount</option>'
$('.discount_select option:not(:first)').replaceWith(html);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="discount_select">
<option value="0"></option>
<option value="4">45% Discount</option>
<option value="5">10% Discount</option>
</select>
結果は、新たなオプションが重複しているということです。私は2つの15%
と2つの18%
オプションを取得します。しかし、私は選択されたオプションを指定されたオプションに置き換える必要があります(オプションごとにこれを行うのではなく)。
あなたはここでそれを見ることができます:https://jsfiddle.net/6on7mzqw/
P.S.を私はそれが最初に不要な要素を削除し、新しい要素を追加することは可能だと思いますが、多分簡単な方法がありますか?
これは、セレクタが2つのオプションをキャッチし、両方を完全なhtmlで置き換えるためです。特定のセレクターを作ってみてください。 – Marnix
@マルニーン私はそれを知っている、私は質問で説明した。もっと具体的にするにはどうすればいいですか? – Andrius
新しいソースを1つのhtml文字列形式にしているので、古いオプションを削除して、新しいものを1つに入れて行くことができます。データ構造を変更するオプションはありますか? – dferenc