jquery筛选器选择其选项中包含一些字符串的选项
考虑以下选择jquery筛选器选择其选项中包含一些字符串的选项,jquery,jquery-selectors,Jquery,Jquery Selectors,考虑以下选择 <select id="phone_line" name="phone_line"> <option value=""></option> <option value="BB-11">Line 1</option> <option value="AA-22">Line 2</option> <option value="AA-33">Line 3</
<select id="phone_line" name="phone_line">
<option value=""></option>
<option value="BB-11">Line 1</option>
<option value="AA-22">Line 2</option>
<option value="AA-33">Line 3</option>
<option value="BB-44">Line 4</option>
</select>
如果要删除其值以AA
开头的行?我可以按如下方式处理每个问题:
$("#phone_line > option").each(function () {
if (this.value.substring(0, 2) === 'AA') {
$("#phone_line option[value='" + this.value +"']").remove();
}
});
但是我可以用过滤器(在一行中)来完成吗。代码位于:
您可以使用$(“#电话线选项”).filter('[value^=“AA”]')。remove()代码>尝试以下操作:
$(“#电话线”).find('option[value^=“AA”]).remove()代码>
选择电话线。。。
第1行
第2行
第3行
第4行
使用属性以
开始选择器将执行此操作
$('#phone_line option[value^="AA"]').remove();
参考资料:
对于更复杂的过滤,请使用filter(函数)
我认为这样做很有效:
$('#phone_line option').filter(' option[value^="AA"] ').remove();
谢谢带有子字符串的过滤器可以为复杂值选择做更多的工作。是的,当然可以。还有其他属性选择器,但对于绝对控制,这是最好的
$("#phone_line > option").filter(function () {
return this.value.substring(0, 2) === 'AA';
}).remove();
$('#phone_line option').filter(' option[value^="AA"] ').remove();