0

私は次のものを持っています:

$('.select-topic').click(function () {
    if ($(this).attr('data-list') == "N") {
        $(this).attr('data-list', 'Y')
        var topicSelectHtml = $('#TopicID').html();
        $(this).html(topicSelectHtml);
        $(this).attr('data-clicked', 'Y')
    } 

ユーザーが新しいトピックをクリックすると、 が$('#TopicID').html();取得され、これが の html として使用されtopicSelectHtmlます。

これは機能しますが$('#TopicID').html();、新しい選択に必要のないセクションを削除する必要があります。これが私の選択したhtmlです:

<select name="TopicID" id="TopicID"><optgroup label="Admin">
<option value="00">All Topics</option>
<option value="050002">Classes</option>
</optgroup>
xxxxxxxxx</select>

<optgroup label="Admin"> ... </optgroup>セクションを削除するにはどうすればよいですか? 私のhtmlには改行がないことに注意してください。

4

2 に答える 2

1
var topicSelectHtml = $('#TopicID').clone().find("optgroup:first").remove().end().html();
于 2012-07-25T08:59:02.577 に答える
0

各 optgroup に id を追加してから、remove() 関数を使用します。

http://jsfiddle.net/ue2KJ/の例を参照してください。

必要に応じて、要素に id を追加することを避けることができますが、同じ要素のタイプが複数ある場合は、問題が発生する可能性があります。

最初の要素を削除するには -

$(this).children("optgroup:first").remove();
于 2012-07-25T08:59:39.843 に答える