Javascript 按属性选择CSS元素[复数!]
我一直在使用CSS3选择器根据属性选择特定元素,尽管今天,我将自己编程到一个角落,在那里我需要一个基于两个不同属性的选择,而不是仅1个 e、 我需要选择第一个divJavascript 按属性选择CSS元素[复数!],javascript,css,css-selectors,Javascript,Css,Css Selectors,我一直在使用CSS3选择器根据属性选择特定元素,尽管今天,我将自己编程到一个角落,在那里我需要一个基于两个不同属性的选择,而不是仅1个 e、 我需要选择第一个div <div data-foo="bar" data-bar="baz"> <div data-foo="bar" data-bar="lorem"> <div data-foo="ipsum" data-bar="baz"> 只是为了好玩,我尝试了div[data foo=“bar”,data
<div data-foo="bar" data-bar="baz">
<div data-foo="bar" data-bar="lorem">
<div data-foo="ipsum" data-bar="baz">
只是为了好玩,我尝试了div[data foo=“bar”,data bar=“baz”]
,但毫不奇怪,这不起作用
我有没有办法得到那个特定的元素
现在,我能想到的唯一解决方案是选择所有具有正确数据foo
属性的元素,然后循环搜索结果,找到具有正确数据栏
属性的元素。您很接近,它是:
div[data-foo="bar"][data-bar="baz"]
从:
这里,选择器匹配所有SPAN元素,其“hello”属性的值正好是“Cleveland”,其“bye”属性的值正好是“Columbus”:
span[hello=“Cleveland”][再见=“Columbus”]{color:blue;}
(还有一个新的,越来越受支持,但我们不需要CSS3功能。)哦,哇。谢谢你的链接!我一定没有仔细阅读说明书。编辑:嗯,它似乎没有出现在CSS3规范中。这有点烦人,因为其余的功能都被记录在案了。…。@julian.Lam:不用担心,很高兴这有帮助。CSS3规范中也有:这是同一个示例,但这一段以一个新的句子开头,实际上是说支持它们,而不是仅仅演示它:“多属性选择器可用于表示元素的多个属性,或同一属性上的多个条件。”@T.J.Crowder是否可以选择类似的输入[type=“text”][type=“email”]。我想对文本和电子邮件类型应用相同的样式。@Geethanga:
input[type=“text”][type=“email”]
将不匹配任何内容(因为同一元素不能同时具有text
和email
的type
属性),但您可以执行input[type=“text”],input[type=“email”]{/*…你的风格在这里…*/}
@T.J.Crowder整理好了。谢谢。)