我有一个由我无法访问其源代码的 CMS 创建的下拉列表。下拉列表提供了一组从 1902 年到 2040 年的日期。我想删除某个点之后的所有日期。我知道我可以使用以下 jQuery 标记特定日期并删除它们:
$("#field_22_year option[value='2036']").remove();
但是,删除一组数字的最有效方法是什么,比如说 1996 年之后的所有内容?
George Mavritsakis 的回答是恰当的。但你也可以这样做:
$('#field_22_year option[value]').each(function() {
if( $(this).attr("value") > 2036 ) { $(this).remove(); };
});
利用
$('#field_22_year option[value]').filter(function() {
return $(this).attr("value") > 1996;
}).remove();
在这里查看如何在此处使用过滤器:Jquery filter()
function remove_date_after(initial_date){
$('#field_22_year').children().each(function(){
if($(this).val() > initial_date)
$(this).remove();
});
}
这里的初始日期是您要从中删除下拉选项的值。例如,您可以调用 as remove_date_after(1996)
,这将删除所有值大于 1996 的选项