3

<\option>Lotus Domino によって生成された次の HTML コード ( に終了タグがないことに注意してください) があります。

<select name="Fault" class="textbox">
<option>Single Light Out
<option>Light Dim
<option>Light On In Daytime
<option>Erratic Operating Times
<option>Flashing/Flickering
<option>Causing Tv/Radio Interference
<option>Obscured By Hedge/Tree Branches
<option>Bracket Arm Needs Realigning
<option>Shade/Cover Missing
<option>Column In Poor Condition
<option>Several Lights Out (please state how many)
<option>Column Leaning
<option>Door Missing/Wires Exposed
<option>Column Knocked Down/Traffic Accident
<option>Lantern Or Bracket Broken Off/Hanging On Wires
<option>Shade/Cover Hanging Open
<option>Other
</select>

Jquery を使用して、ドキュメントがこれにロードされたら、この HTML を変換したいと思います:- 11 番目のオプションの後に optgroup を追加し、終了</option>タグも追加します

<select name="Fault" class="textbox">
<option>Single Light Out</option>
<option>Light Dim</option>
<option>Light On In Daytime</option>
<option>Erratic Operating Times</option>
<option>Flashing/Flickering</option>
<option>Causing Tv/Radio Interference</option>
<option>Obscured By Hedge/Tree Branches</option>
<option>Bracket Arm Needs Realigning</option>
<option>Shade/Cover Missing</option>
<option>Column In Poor Condition</option>
<option>Several Lights Out (please state how many)</option>
    <optgroup label="Urgent Reasons">
<option>Column Leaning</option>
<option>Door Missing/Wires Exposed</option>
<option>Column Knocked Down/Traffic Accident</option>
<option>Lantern Or Bracket Broken Off/Hanging On Wires</option>
<option>Shade/Cover Hanging Open</option>
<option>Other</option>
    </optgroup>
</select>
4

2 に答える 2

3

:nth-child(n+7)インデックス 7 より大きいすべての子を選択します。

$('option:nth-child(n+7)').wrapAll('<optgroup  label="Urgent Reasons">');

JsFiddleを参照してください

非終了<option>は無効な HTML であるため、有効な DOM 操作を行うだけなので、jQuery がこれをどのように処理するかはわかりません。HTML を解析する前に、この非終了タグを修正することをお勧めします。

于 2012-04-04T09:31:12.443 に答える
2

オプション タグを修正するには、HTML コードを読み込んで置換を実行できる文字列にすることができます。のようなもの (jQuery について話しているので、これは JavaScript の例です)

raw_code.replace(/(<option>.+)/g, "$1</option>\n");
于 2012-04-04T09:50:28.587 に答える