5

次のオプションを備えたコンボボックスがあります

<select id="history">
    <option></option>
    <option>element1</option>
    <option>element2</option>
    <option>element3</option>
    <option>element4</option>
</select>

最初のオプションの後に新しいオプションを追加しようとしています。私が試したこれを達成するための最も効果的な方法は何ですか

<script type="text/javascript">
    $("#history").prepend("<option>sdsadas</option>").after('#history:first-child');
    $("<option>asdsad</option>").insertBefore('#history option:first-child');
//    $('option[value="sadsaddsad"]', this).after('option:first');
</script>

しかし、これらのどれも私が望むように機能していません。

4

3 に答える 3

12

あなたはこのようにそれを行うことができます:

$("#history option:first").after("<option>sdsadas</option>");

これにより、最初の<option>タグが取得され、その後に新しいオプションが挿入されます。


jQueryは、位置に挿入する2つの方法をサポートしています。上記のバージョンはtarget.after(content)であり、この他の方法はcontent.insertAfter(target)

$("<option>sdsadas</option>").insertAfter("#history option:first");

注:1つはを使用.after()し、もう1つはを使用します.insertAfter()

于 2012-08-28T07:18:02.107 に答える
1

使用する

$("#history option:eq(0)").after("<option>New Option Added</option>");

ソース:http ://www.myphpetc.com/2009/03/jquery-select-elements-tips-and-tricks.html

于 2012-08-28T07:23:54.697 に答える
0

以下を使用してください。

$("<option>asdsad</option>").insertBefore($('#history option:first-child'));

それ以外の:

$("<option>asdsad</option>").insertBefore('#history option:first-child');
于 2012-08-28T07:19:30.720 に答える