2016-07-20 52 views
0

我知道我可以像这样查询所有选项标签。使用querySelectorAll过滤具有特定值的选项标签

document.querySelectorAll("option") 

我也可以查询所有选项标签只有像这样的特定值。

document.querySelectorAll("option[value='abc']") 

有没有办法只查询具有值的选项标签?所以像这样?

document.querySelectorAll("option[value!='']") 
+0

'选项[值]' –

+0

@NiettheDarkAbsol,这将匹配'<选项值>'通过它的OP要具有非空值的选项看起来 –

+0

@PatrickEvans如果必须的话,可能不必要的,但是'option [value]:not([value =''])。 –

回答

1

您可以使用“”,如评论所说的Niet的,但你不必用“价值”与选项。

<select> 
     <option value="1">cleaning</option> 
     <option value="2">food-2</option> 
     <option value="3">toilet</option> 
     <option value="4">baby</option> 
     <option value="6">knick-knacks</option> 
     <option value="9">junk-2</option> 
     <option value="10">cosmetics</option> 
    </select> 

console.log(document.querySelectorAll('option:not([value="3"])')) 

看到这里的工作小提琴:https://jsfiddle.net/vdaa79pk/

+0

谢谢。这工作完美。 –

+0

这是'选项:不是([value =“”])“的伎俩。 –

+0

是的,正如我刚才提到的那样,尼特已经回答了。这更像是检查任何特定值的扩展。良好的工作伴侣。 – Ash

相关问题