如何用javascript或jQuery删除部分字符串?

时间:2012-07-25 08:56:28

标签: jquery

我有以下内容:

$('.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();并将其用作topicSelectHtml的html。

这样做但我需要做的是删除新选择不需要的$('#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中没有换行符。

2 个答案:

答案 0 :(得分:1)

var topicSelectHtml = $('#TopicID').clone().find("optgroup:first").remove().end().html();

答案 1 :(得分:0)

为每个optgroup添加id,然后使用remove()函数。

请参阅此处示例 - http://jsfiddle.net/ue2KJ/

如果您愿意,可以避免向元素添加id,但如果您有多种类型的相同元素,则可能会导致问题。

要删除第一个元素,只需使用 -

$(this).children("optgroup:first").remove();