CSS 选择器中的 OR 条件
Posted
技术标签:
【中文标题】CSS 选择器中的 OR 条件【英文标题】:OR condition in CSS selector 【发布时间】:2011-06-12 12:24:42 【问题描述】:我正在尝试通过 CSS 选择器查找元素。我有一个在多个站点上使用的脚本,并且有相同的元素,但具有不同的类。有没有办法通过类似的方式找到:
css=div[(id='resultVersionA']||[id='resultVersionB')]
最好的问候
编辑
您的解决方案有效,但不适用于我的下一个元素
#first-order price, #first price input[type='submit']
更清楚一点:在查询时,我想选择 div 下的按钮,即 i 'first_order price' OR 'first price'。
【问题讨论】:
#resultVersionA, #resultVersionB ...
你是这个意思吗?
您想将 CSS 应用于两个这些元素吗?还是只是其中之一?如果两者都出现在同一页面中怎么办?
在一个站点只有一个元素具有这些 id 之一
【参考方案1】:
更新
应该这样做(抱歉,我之前没有看到您的编辑):
#first-order price input[type='submit'], #first price input[type='submit']
旧答案,不要使用
如果您正在搜索 ID,
div#resultVersionA, div#resultVersionB
如果您正在搜索课程,
div.resultVersionA, div.resultVersionB
不需要属性选择器。如果您不关心元素类型,也可以省略 div
部分。
【讨论】:
thx 寻求帮助 :) 但实际上我的元素具有像“一阶价格”或“用户名”这样的 ID。我不是这个ID的制造者。我只是想自动化这个网站:/。你能给我这个例子的查询吗?【参考方案2】:#first-order price, #first price input[type='submit']
【讨论】:
【参考方案3】:这两个元素是否有不同的 ID 和类?如果他们有不同的 ID,你可以使用:
document.GetElementById('resultVersionA');
否则,如果该元素在给定类的页面上仅使用一次,则:
var rsltVerA = document.GetElementsByTagName('div').getClass('resultVersionA');
var rsltVerB = document.GetElementsByTagName('div').getClass('resultVersionB');
【讨论】:
以上是关于CSS 选择器中的 OR 条件的主要内容,如果未能解决你的问题,请参考以下文章