attr(xyz)函数是否只对那些具有该特定属性的元素起作用?

时间:2016-02-29 09:26:41

标签: html css css3

请考虑以下代码:



a:before {
  content: "(" attr(hre)")";
  color: red;
}

<a>First line <br></a>
<a hre="No Line"> This is styled with attr() function </a>
&#13;
&#13;
&#13;

当我们运行脚本时, No Line 仅出现在第二个anchor元素之前。但括号出现在anchor元素之前。

attr()函数是否仅适用于具有该特定属性的元素? attr()是这样定义的吗?

2 个答案:

答案 0 :(得分:2)

  

attr()函数是否仅适用于具有该特定属性的元素? attr()是这样定义的吗?

Yes.当元素中缺少attr()引用的属性时,attr()将返回一个空字符串。它不会影响您为content属性指定的其他字符串,这就是两个元素都显示括号的原因。

答案 1 :(得分:0)

您可以使用attribute selector

执行此操作

&#13;
&#13;
a[hre]:before {
  content: "(" attr(hre)")";
  color: red;
}
&#13;
<a>First line <br></a>
<a hre="No Line"> This is styled with attr() function </a>
&#13;
&#13;
&#13;