Javascript 用于选择没有值或特定文本的选项的jQuery

Javascript 用于选择没有值或特定文本的选项的jQuery,javascript,jquery,Javascript,Jquery,我有一个选择,所有选择都有一个顶部选项,带有文本all和no值,但我需要编写一些代码来处理这些选择中的所有其他选项 我有如下代码可以使用,但我宁愿去掉第二行的条件。我确实尝试过使用jQuery的“:not”选择器,但不知道如何将其配置为缺少/空/未定义的值。最好是显式地将value设置为空字符串,然后使用:not _.each($(select).find('option'), function(option) { if (optionVal = $(option).val()) {

我有一个选择,所有选择都有一个顶部选项,带有文本all和no值,但我需要编写一些代码来处理这些选择中的所有其他选项

我有如下代码可以使用,但我宁愿去掉第二行的条件。我确实尝试过使用jQuery的“:not”选择器,但不知道如何将其配置为缺少/空/未定义的值。最好是显式地将value设置为空字符串,然后使用:not

_.each($(select).find('option'), function(option) {
    if (optionVal = $(option).val()) {

请原谅我使用的是U4; each而不是jQuery的each,我们宁愿保持一致,因为我们在很多方面使用下划线,而不仅仅是迭代jQuery匹配集。

如果要从每个选择元素中排除第一个选项,可以使用:not selector and.find方法:

如果要筛选具有值的选项,可以使用。筛选方法:


注意:对于在jQuery集合中进行迭代,最好使用jQuery的。每个方法,否则将失去jQuery提供的链接能力。

如果要从每个选择元素中排除第一个选项,可以使用:not selector and。find method:

$(select).find('option[value]'); // selects all <option>s with value
如果要筛选具有值的选项,可以使用。筛选方法:

注意:对于迭代jQuery集合,最好使用jQuery的.each方法,否则将失去jQuery提供的链接能力

$(select).find('option[value]'); // selects all <option>s with value
如果我没有答对这个问题


如果我没有正确回答这个问题。

从我的头顶,你可以使用:

$(select).find('option[value!=""]');

返回并非全部的选项

如果第一个选项始终是无价值选项,您还可以使用:

$(select).find('option:not(:eq(0))')

要选择不是第一个子项的所有选项元素。

请使用以下任一选项:

$(select).find('option[value!=""]');

返回并非全部的选项

如果第一个选项始终是无价值选项,您还可以使用:

$(select).find('option:not(:eq(0))')
选择不是第一个子项的所有选项元素。

您可以尝试此操作

HTML:

筛选缺少/空/未定义值的选项。这是。

你可以试试这个

HTML:


筛选缺少/空/未定义值的选项。这是。

我想我喜欢:不是:第一个最好,尽管我可能会接受其他答案中的一个,因为它们似乎更能准确地回答我所说的问题it@GeorgeJempty在这种情况下,我避免使用属性选择器,因为DOM眼中的值实际上是一个属性而不是属性,除此之外,你完全可以自由地接受最适合你的答案。很好的澄清!不幸的是,我刚刚接受了另一个答案。如果你的评论是答案的一部分,我可能会接受你的。58.5公里,虽然你没有受伤;我想我喜欢:不是:第一个最好,尽管我可能会接受其他答案中的一个,因为它们似乎更能准确地回答我所说的问题it@GeorgeJempty在这种情况下,我避免使用属性选择器,因为DOM眼中的值实际上是一个属性而不是属性,除此之外,你完全可以自由地接受最适合你的答案。很好的澄清!不幸的是,我刚刚接受了另一个答案。如果你的评论是答案的一部分,我可能会接受你的。58.5公里,虽然你没有受伤;我喜欢这一个,但不幸的是,由于我们使用u.template的方式,没有值的选项被生成,并且使用您的方法返回:在这种情况下,我也会使用pete的答案和[value!=]我喜欢这一个,但不幸的是,由于我们使用的是u.template,没有值的选项被生成,并且使用您的方法返回:在这种情况下,我也会使用pete的答案[value!=]太冗长,尽管我没有尝试过,所以不会关闭mod itI,我想,您提到了missing/null/undefined,这将过滤没有值或值=。太详细了,虽然我没有尝试过,所以不会关闭mod itI。我想,您提到了missing/null/undefined,这将过滤没有值或值=。
<select>
    <option>All</option>
    <option value>0</option>
    <option value=1>One</option>
    <option value=2>Two</option>
</select>
$('select option').filter(function(){
    return this.hasAttribute('value') && this.value.length;
});