我想将CSS规则应用于其中一个类与指定前缀匹配的任何元素.
例如,我想要一个规则,该规则将应用于具有以status-
(A和C 开头,而不是后续片段中的B)开头的类的div :
<div id='A' class='foo-class status-important bar-class'></div>
<div id='B' class='foo-class bar-class'></div>
<div id='C' class='foo-class status-low-priority bar-class'></div>
Run Code Online (Sandbox Code Playgroud)
某种组合:
div[class|=status]
和div[class~=status-]
它是否可以在CSS 2.1下使用?在任何CSS规范下都可行吗?
注意:我知道我可以使用jQuery来模拟它.
我想隐藏这个input
元素.事实上,我很少,我必须使用他们的名字.
<input type="image" alt="Storage Administration" src="App_Themes/Default/topmenu$store$png$ffffff$000000.IconHandler.axd" title="Storage Administration" id="ctl00_ctl00_TopMenuCph_btnAdm" name="ctl00$ctl00$TopMenuCph$btnAdm">
Run Code Online (Sandbox Code Playgroud)
有人可以建议如何使用完整的标题或alt?
[title ~= "Storage"] {
display: none;
}
Run Code Online (Sandbox Code Playgroud)
这很好但是,这在firefox和chrome中不起作用.
[title ~= "Storage Administration"] {
display: none;
}
Run Code Online (Sandbox Code Playgroud)
如果我不能使用完整的标题,那么如果内部的输入元素,我怎样才能缩小选择范围.topMenu > div > li
?
<ul class="topMenu">
<div id="ctl00_ctl00_TopMenuCph_panTab">
<li><input type="image" alt="Storage Administration" src="App_Themes/Default/topmenu$store$png$ffffff$000000.IconHandler.axd" title="Storage Administration" id="ctl00_ctl00_TopMenuCph_btnAdm" name="ctl00$ctl00$TopMenuCph$btnAdm"></li>
<li><input type="image" alt="Envelope Templates" src="App_Themes/Default/topmenu$envelope$png$ffffff$000000.IconHandler.axd" title="Envelope Templates" id="ctl00_ctl00_TopMenuCph_btnEnv" name="ctl00$ctl00$TopMenuCph$btnEnv"></li>
<li><input type="image" alt="My Documents" src="App_Themes/Default/topmenu$mydocuments$png$ffffff$000000.IconHandler.axd" title="My Documents" id="ctl00_ctl00_TopMenuCph_btnMyD" name="ctl00$ctl00$TopMenuCph$btnMyD"></li>
</div>
</ul>
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作 chrome 扩展。一部分代码(在此扩展的早期)涉及按类名获取几个元素。有几个元素的类名都是这样的:“scollerItem [AlotOfRandomCharacters]”。所以我试图列出所有以“scrollerItem”开头的类名,但我不太确定如何去做。
所以这是我到目前为止的代码:
function initRE(){
var matchingItems = [];
var allElements = document.getElementsByTagName("div");
for(i=0; i < allElements.length; i++)
{
if ( allElements [i].className == "scrollerItem" && "*" )
{
matchingItems.push(allElements[i]);
}
}
alert(matchingItems[0]);
}
Run Code Online (Sandbox Code Playgroud)
allElements 在断点监视列表中列为“HTMLCollection(623)”(大致),但没有任何内容转发到“matchingItems”数组。我试着[i].className.contains
和.includes
有问题的 HTML 元素之一的直接副本:
<div class="scrollerItem s1d8yj03-2 ebdCEL Post t3_agnhuk s1ukwo15-0 RqhAo" id="t3_agnhuk" tabindex="-1">
Run Code Online (Sandbox Code Playgroud) 有没有办法在onclick
+ 上获取CSS选择器function()
?您可以在上获得它onclick
。
这是HTML:
<span onclick="gotoURL("https://youtu.be/dQw4w9WgXcQ");">Rick Roll</span>
Run Code Online (Sandbox Code Playgroud)
CSS:
span[onclick] {
color: blue;
text-decoration: underline;
}
Run Code Online (Sandbox Code Playgroud)
但是这些不起作用:
span[onclick="gotoURL"]
span[onclick="gotoURL()"]
Run Code Online (Sandbox Code Playgroud) 我有两种不同类型的类名.第一个被命名color-*
.例如:
color-red
color-blue
color-green
Run Code Online (Sandbox Code Playgroud)
我也有班级名字 hover-color-*
hover-color-red
hover-color-blue
hover-color-green
Run Code Online (Sandbox Code Playgroud)
我试图为默认的超链接颜色制作一个css规则:
a:not([class*='color-']) {
color: #3498db;
}
Run Code Online (Sandbox Code Playgroud)
这很好,但是如果存在这样的超链接:
<a href="#" class="hover-color-green">Link</a>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,超链接应该保留默认的超链接颜色,并且只应覆盖悬停颜色,但是由于规则class*='color-'
和事实我只指定了悬停颜色,超链接没有给出正常颜色(#3498db).
有没有办法更新这个规则,以便它只在类名开头时触发color-
?(所以,ANYTHING-color-
不适用)