Javascript Angularjs量角器:用于排除嵌套元素的有效选择器
我想查询特定的元素 我的代码结构如下: HTMLJavascript Angularjs量角器:用于排除嵌套元素的有效选择器,javascript,html,css-selectors,protractor,nested-lists,Javascript,Html,Css Selectors,Protractor,Nested Lists,我想查询特定的元素 我的代码结构如下: HTML <ul class="main"> <li>...</li> <li>...</li> <li> <ul class="to--exclude"> <li>...</li> <li>...</li> </ul
<ul class="main">
<li>...</li>
<li>...</li>
<li>
<ul class="to--exclude">
<li>...</li>
<li>...</li>
</ul>
</li>
<li>...</li>
...
</ul>
在量角器中使用时
element(by.css('.main li').not('ul.to--exclude li'));
// OR
element(by.css(".main li:not('ul.to--exclude li')"));
上述代码给出了一个错误:
InvalidElementStateError: invalid element state: Failed to execute 'querySelectorAll' on 'Document': '.main li:not('ul.to--exclude li')' is not a valid selector.
如何在量角器中实现同样的功能。如何排除嵌套在父定位器类中的某些类
谢谢您应该能够使用CSS伪类
:而不是像这样的
:
element(by.css(".main > li > ul:not(.to--exclude) li, .main > li)"));
我将添加.main>li
作为备份选择器,因为您似乎希望选择.main
下的所有子li
s。此选择器适用于以下情况:
-
-
...
如果您没有像这样的ul
s.to--include
,您可以将选择器减少到:
element(by.css(".main > li)"));
您应该能够使用CSS伪类
:而不是像这样做:
element(by.css(".main > li > ul:not(.to--exclude) li, .main > li)"));
我将添加.main>li
作为备份选择器,因为您似乎希望选择.main
下的所有子li
s。此选择器适用于以下情况:
-
-
...
如果您没有像这样的ul
s.to--include
,您可以将选择器减少到:
element(by.css(".main > li)"));
您应该能够使用CSS伪类:而不是像这样做:
element(by.css(".main > li > ul:not(.to--exclude) li, .main > li)"));
我将添加.main>li
作为备份选择器,因为您似乎希望选择.main
下的所有子li
s。此选择器适用于以下情况:
-
-
...
如果您没有像这样的ul
s.to--include
,您可以将选择器减少到:
element(by.css(".main > li)"));
您应该能够使用CSS伪类:而不是像这样做:
element(by.css(".main > li > ul:not(.to--exclude) li, .main > li)"));
我将添加.main>li
作为备份选择器,因为您似乎希望选择.main
下的所有子li
s。此选择器适用于以下情况:
-
-
...
如果您没有像这样的ul
s.to--include
,您可以将选择器减少到:
element(by.css(".main > li)"));
jQuery:not()
不同于CSS:not()
-另请注意,您的HTML无效,您不能在ul
中直接使用ul
。要嵌套列表,您必须在li
中具有ul
。jQuery:not()
不同于CSS:not()
-另请注意,HTML无效,您不能直接在ul
中具有ul
。要嵌套列表,您必须在li
中具有ul
。jQuery:not()
不同于CSS:not()
-另请注意,HTML无效,您不能直接在ul
中具有ul
。要嵌套列表,您必须在li
中具有ul
。jQuery:not()
不同于CSS:not()
-另请注意,HTML无效,您不能直接在ul
中具有ul
。要嵌套列表,您必须在li
中具有ul
。请注意,这假设ul
元素嵌套深度仅为一级。如果您还有任何嵌套的ul
元素,您将无法使用:not()
对其进行筛选-请注意,这假设ul
元素的嵌套深度仅为一级。如果您还有任何嵌套的ul
元素,您将无法使用:not()
对其进行筛选-请注意,这假设ul
元素的嵌套深度仅为一级。如果您还有任何嵌套的ul
元素,您将无法使用:not()
对其进行筛选-请注意,这假设ul
元素的嵌套深度仅为一级。如果您还有任何嵌套的ul
元素,您将无法使用:not()
对其进行筛选-请参阅