删除特定范围的元素JQuery

时间:2013-03-08 15:04:34

标签: javascript jquery html

HTML:

<select id ="combooptions">
          <option id="combostart" value=""></option>
 </select>

JS:

var str = "";
if (combonews.length > 0)
        for (var i in combonews) {
            str += "<option value='" + combonews[i][0] + "'>" + combonews[i][1] + "</option>";
        }
    jQuery("#combooptions").append(str);

它工作正常,但现在我想删除那些附加的,留下最初的1选项标记,如上所示。 我试过了:

jQuery("#combooptions").html('');
 //or
jQuery("#combooptions").append('');
//or
jQuery("#combostart").append('');
//or
jQuery("#combostart").html('');

但没有成功。

请帮忙 谢谢你

4 个答案:

答案 0 :(得分:3)

要缩小选择列表,您还可以降低选项数量:

document.getElementById("combooptions").length = 1;

使用jQuery:

$("#combooptions")[0].length = 1;

删除“除第一个以外的所有内容”的更通用的想法:

$("#combooptions :not(:first-child)").remove();

示例:http://jsfiddle.net/kVRpy/

答案 1 :(得分:3)

由于您为第一个option提供了唯一ID,因此请执行以下操作:

$('#combostart ~ option').remove();

What does the "~" (tilde/squiggle/twiddle) CSS selector mean?

答案 2 :(得分:1)

您可以选择所有选项,然后从您的选择中删除ID为combostart的选项。 然后拨打.remove()以删除不需要的选项。

$('#combooptions option').not('#combostart').remove();

答案 3 :(得分:0)

试试这个:

$('#combooptions').html("<option id='combostart' value=''></option>");