我有以下HTML:
<label class="my-class" for="_something">Text Number 1</label>
<label class="my-class" for="_something">Number 2 Text</label>
基本上我有两个相同类的标签,= =属性
也相同我知道我可以通过以下方式定位属性:
label[for="_something"] {
/* input */
}
但我如何区分其中的2个?
基本上我需要使用CSS来隐藏第二个标签。
我可以通过“名称文字”定位属性吗?这个例子中的“2号文字”?
答案 0 :(得分:1)
确实可以使用CSS。只需使用nth-of-type()
。
HTML:
<label class="my-class" for="_something">Text Number 1</label>
<label class="my-class" for="_something">Number 2 Text</label>
<label class="my-class" for="_something">Number 3 Text</label>
<label class="my-class" for="_something">Number 4 Text</label>
CSS:
label[for="_something"]:nth-of-type(2) {
display: none;
}
PHPFiddle链接:http://jsfiddle.net/ua91bf0b/
请注意:这是CSS3功能,不适用于某些旧浏览器。
答案 1 :(得分:0)
如果你想根据它的文本(Number 2 Text)隐藏标签,那么你需要使用jQuery。几乎&#34;几乎&#34;因为你在jQuery中也使用了css选择器。
$('label[for$="_something"]:contains("2")')
例如,这个标签采用标签,其中for标签以&#34; _something&#34; (所以它对123_something和asd_something也很好)和标签文本包含&#34; 2&#34;。
您可以为此创建一个功能,以便于使用:
function HideLabel(forattr, texttosearch) {
$('label[for$="'+forattr+'"]:contains("'+texttosearch+'")').css('display','none');
}
并使用它:
HideLabel('_something', '2');