我无法理解为什么以下选择器按预期工作(即获取td
):
table tr td
但这个没有:
table > tr > td
td
是tr
的后代,后者又是table
的后代,但他们也是彼此的孩子。因此,我认为>
选择器也可以。
我做了两个小提琴:
为什么>
选择器不在这里工作?
答案 0 :(得分:78)
在HTML中,浏览器隐式添加tbody
元素,其中包含tr
元素 1 ,因此实际上tr
永远不会是table
。
因此,您必须改为:
table > tbody > tr > td
当然,如果您自己添加tbody
元素,则使用相同的选择器。 spec解释了何时隐式添加tbody
:
标签省略
如果
tbody
元素中的第一个元素是tbody
元素,并且该元素之前没有tr
,则可以省略tbody thead
元素的开始标记},或tfoot
元素,其结尾标记已被省略。
1 对于正确提供application/xhtml+xml
的XHTML文档,情况并非如此,given its XML roots。
答案 1 :(得分:1)
如果你想要比教皇更加天主教徒:)这就是我做的事情(因为以上都没有对我有用):
1)创建一个css类,将其分配给GridView的属性(例如:
<PagerStyle CssClass="pagerNoBorder" />
)
2)定义css类,就像浏览器呈现页码一样(检查浏览器中的元素并查找所有子选择器!)。就我而言,情况就是这样:
.pagerNoBorder > td > table > tbody > tr > td
{
border-width:0px !important;
border-style:none;
}
如果你要在同一时间说出为什么边界宽度(+!重要)和边框式,那么请再次阅读我的答案的介绍:)。干杯和美好的一天!