Jquery 要查找的CSS选择器<;选择>;带有指定的<;选项>;标签
我需要一个CSS选择器来选择一个Jquery 要查找的CSS选择器<;选择>;带有指定的<;选项>;标签,jquery,html,xpath,jquery-selectors,css-selectors,Jquery,Html,Xpath,Jquery Selectors,Css Selectors,我需要一个CSS选择器来选择一个元素,如果它包含一个元素,该元素包含或等于一个指定的文本(两者都符合我的要求)。HTML示例: <select name="foo"> <option value="1">First</option> <option value="2">Second</option> </select> 如果CSS选择器无法实现这一点,我也会接受JQuery或XPath选择器。CSS无法实现这一点
元素,如果它包含一个
元素,该元素包含或等于一个指定的文本(两者都符合我的要求)。HTML示例:
<select name="foo">
<option value="1">First</option>
<option value="2">Second</option>
</select>
如果CSS选择器无法实现这一点,我也会接受JQuery或XPath选择器。CSS无法实现这一点 您可以使用这个jQuery选择器(并且不是CSS的一部分):
$(“选择:has(选项:contains('Second')))
或者此XPath表达式:
//select[contains(option, 'Second')]
这可能会有所帮助,最简单的方法是使用选项上的
contains()
选择器
$("select option:contains('Second')")
下面是一个工作示例:
以及不包括value属性的版本:
要获取实际的select元素本身,您只需对上述代码使用parent()
方法即可:
var selectElement = $("select option:contains('Second')").parent();
下面是一个示例:您想对元素做什么?浏览器在设置
SELECT
元素的样式时非常有限。我想将此方法与Selenium方法结合起来,自动查找要与之交互的表单元素。需要选择-cough-SELECT
。不幸的是,包含匹配的子字符串。我需要匹配值exactly@ladieu://选择[option='Second']
如果使用jQuery,则需要手动编写回调来测试该值。
$("select option:contains('Second')")
var selectElement = $("select option:contains('Second')").parent();