JQuery:正在从小于的“按数据选择”属性中删除选项

JQuery:正在从小于的“按数据选择”属性中删除选项,jquery,html,Jquery,Html,我需要你的帮助。 我有以下选择: <select id="some_id"> <option value="1" data-cost_level="1">option A</option> <option value="4" data-cost_level="2">option B</option> <option value="9" data-cost_level="3">option C</

我需要你的帮助。
我有以下选择:

<select id="some_id">
    <option value="1" data-cost_level="1">option A</option>
    <option value="4" data-cost_level="2">option B</option>
    <option value="9" data-cost_level="3">option C</option>
</select>

方案A
方案B
备选案文C
现在我需要删除(使用JQuery)所有数据成本级别低于3的选项。
是否可以使用一行指令而不在整个select中循环?

您的尝试:

// split to 3 lines from 1 so it's easier to see here
$("#some_id").filter(function(){ 
    return $(this).attr('data-cost_level') < "3" }
).remove();
接下来,如果比较字符串,则不会得到数字比较,因此
(“21”您的尝试:

// split to 3 lines from 1 so it's easier to see here
$("#some_id").filter(function(){ 
    return $(this).attr('data-cost_level') < "3" }
).remove();

接下来,如果比较字符串,则不会得到数值比较,因此
(“21”尝试获取所有匹配选项[data-cost_level]的节点,如果属性“value”小于3,则使用$('selector')删除它们。remove()

document.querySelectorAll('option[数据成本水平]).forEach((项目)=>{

如果($(item).attr('value')尝试获取与选项[data-cost_level]匹配的所有节点,如果属性“value”小于3,则使用$('selector').remove()

document.querySelectorAll('option[数据成本水平]).forEach((项目)=>{

如果($(item).attr('value')取决于您对“一行”的定义,那么jquery.min.js就是“一行”。另外,“没有循环”-您认为
$(“选择>选项”)
会做什么…它会循环…所以,同样取决于您对“循环”的定义。最简单的是
.filter(函数)
-但这是“循环”。我认为filter可能是一个非常好的主意,但我尝试了以下方法:$(“#some_id”)。filter(函数(){return$(this.attr('data-cost_level')<“3”)))。remove();但它不起作用。这取决于你对“一行”的定义——jquery.min.js是“一行”。另外,“没有循环”——你认为
$(“选择>选项”)
将要做…它将循环…因此,再次取决于您对“循环”的定义。最简单的将是
.filter(函数)
-但这是“循环”。我认为过滤器可能是一个非常好的主意,但我尝试了以下方法:$(“#某些#id”).filter(函数(){return$(this).attr('data-cost_level')<“3”}).remove();但它不起作用。感谢您提供了带解释的工作解决方案。感谢您提供了带解释的工作解决方案。仅供参考:值得一读:仅供参考:值得一读:
$(this).data("cost_level") < 3