Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按显示文本获取下拉选项元素_Javascript_Jquery_Webdriver Io - Fatal编程技术网

Javascript 按显示文本获取下拉选项元素

Javascript 按显示文本获取下拉选项元素,javascript,jquery,webdriver-io,Javascript,Jquery,Webdriver Io,我目前正在使用以下方法选择下拉元素: $('#dropdownId option[value="value"]') 因为我的大部分元素都是以 <option value="value">value</option> 我无法向对象添加value=value,我无法控制html 编辑:我意识到WebDrivero虽然使用类似于jQuery的选择器,但不一定具有所有相同的功能。Nathan Hinchey的似乎适用于普通的jQuery。您可以通过向没有值属性的选项元素添加值

我目前正在使用以下方法选择下拉元素:

$('#dropdownId option[value="value"]')
因为我的大部分元素都是以

<option value="value">value</option>
我无法向对象添加value=value,我无法控制html


编辑:我意识到WebDrivero虽然使用类似于jQuery的选择器,但不一定具有所有相同的功能。Nathan Hinchey的似乎适用于普通的jQuery。

您可以通过向没有值属性的选项元素添加值属性并使用选项的.text作为.value来动态更改HTML。然后,您可以继续选择现有的选项。更改DOM可能会带来性能成本,所以要小心这一点

//获取所有没有value属性的元素并迭代该组 $option:不是[value]。每个函数{ //为选项创建value属性,并为其指定 //当前选项元素的文本。 $this.attrvalue,$this.text; }; log$select.html; 一 二 三
您可以通过向没有值属性的选项元素添加值属性并使用选项的.text作为.value来动态更改HTML。然后,您可以继续选择现有的选项。更改DOM可能会带来性能成本,所以要小心这一点

//获取所有没有value属性的元素并迭代该组 $option:不是[value]。每个函数{ //为选项创建value属性,并为其指定 //当前选项元素的文本。 $this.attrvalue,$this.text; }; log$select.html; 一 二 三 从以下地点偷走整件布料:

您可以使用jQuery包含选择器

从以下地点偷走整件布料:

您可以使用jQuery包含选择器


Nathan Hinchey的答案适用于使用基本jQuery的人

对于使用WebDriverIO的用户,我找到了使用选择器的

$('<element>*=<text>'). 
但是,我注意到我无法在单个选择中很好地链接各种选择,例如

$('select#selectId option*=value')  // WON'T work  
如果需要在此之前链接任何选择,例如可能包含选项的选择对象,请使用

$('option*=value').$(elementSelector)
我目前正在使用它来获取父对象,对象

$('option*=value').$('..')

Nathan Hinchey的答案适用于使用基本jQuery的人

对于使用WebDriverIO的用户,我找到了使用选择器的

$('<element>*=<text>'). 
但是,我注意到我无法在单个选择中很好地链接各种选择,例如

$('select#selectId option*=value')  // WON'T work  
如果需要在此之前链接任何选择,例如可能包含选项的选择对象,请使用

$('option*=value').$(elementSelector)
我目前正在使用它来获取父对象,对象

$('option*=value').$('..')

这样行吗?使用querySelector通过InnerHTML选择元素的答案您可以使用$'dropdownId option'。text@MirkoAcimovic返回选项的文本。此问题询问如何选择选项。或者,您可以选择所有没有值$'option:not[value]'的选项标记,然后循环选择并删除没有所需文本/内部HTML的选项标记。这看起来很难看,这行吗?使用querySelector通过InnerHTML选择元素的答案您可以使用$'dropdownId option'。text@MirkoAcimovic返回选项的文本。此问题询问如何选择选项。或者,您可以选择所有没有值$'option:not[value]'的选项标记,然后循环选择并删除没有所需文本/内部HTML的选项标记。这看起来很难看。这对jQuery来说绝对有效。不幸的是,我意识到我的项目使用的WebDrivero(主要是复制jQuery选择器)不适用于此。你能像@ScottMarcus的答案那样使用JavaScript动态修改HTML吗?这绝对适用于jQuery。不幸的是,我意识到我的项目使用的WebDrivero(主要是复制jQuery选择器)不适用于此。您是否能够像@ScottMarcus的回答那样使用JavaScript动态修改HTML?