使用 JQuery 选择与属性匹配的 div 失败
Selecting a div matching an attribute using JQuery is failing
我转到 https://www.tradingview.com/chart/?symbol=BINANCE:BTCUSDTPERP 并按 OPT+g(非 mac 时按 ALT+g)并出现 TimeRange 叠加层。
我正在尝试使用控制台中的 JavaScript 模拟单击 'Custom range' 选项卡。
但是 $('#overlap-manager-root > div > [attribute="CustomRange"]')
检索失败。
这对我来说很奇怪,因为 $('#overlap-manager-root > div button')
成功地挑选出了 2 个按钮。
我正在使用 https://api.jquery.com/attribute-equals-selector/ 作为参考。
>
combinator 用于直系后代。这意味着 >
之后的元素需要直接在父元素(在 >
之前命名的元素)中,而不是在某些子元素中。
例如,#overlap-manager-root > div > [data-value="CustomRange"]
将匹配
<div id="overlap-manager-root">
<div>
<button data-value="CustomRange"></button>
</div>
</div>
但不匹配
<div id="overlap-manager-root">
<div>
<div id="someotherdiv">
<button data-value="CustomRange"></button>
</div>
</div>
</div>
删除 >
将使其在子层次结构中查找任何元素,而不仅仅是直接子元素。
所以将选择器切换到
#overlap-manager-root > div [data-value="CustomRange"]
这应该能找到您的元素。
我转到 https://www.tradingview.com/chart/?symbol=BINANCE:BTCUSDTPERP 并按 OPT+g(非 mac 时按 ALT+g)并出现 TimeRange 叠加层。
我正在尝试使用控制台中的 JavaScript 模拟单击 'Custom range' 选项卡。
但是 $('#overlap-manager-root > div > [attribute="CustomRange"]')
检索失败。
这对我来说很奇怪,因为 $('#overlap-manager-root > div button')
成功地挑选出了 2 个按钮。
我正在使用 https://api.jquery.com/attribute-equals-selector/ 作为参考。
>
combinator 用于直系后代。这意味着 >
之后的元素需要直接在父元素(在 >
之前命名的元素)中,而不是在某些子元素中。
例如,#overlap-manager-root > div > [data-value="CustomRange"]
将匹配
<div id="overlap-manager-root">
<div>
<button data-value="CustomRange"></button>
</div>
</div>
但不匹配
<div id="overlap-manager-root">
<div>
<div id="someotherdiv">
<button data-value="CustomRange"></button>
</div>
</div>
</div>
删除 >
将使其在子层次结构中查找任何元素,而不仅仅是直接子元素。
所以将选择器切换到
#overlap-manager-root > div [data-value="CustomRange"]
这应该能找到您的元素。