Html 在这种CSS情况下如何选择相邻表? ... ... ... ...

Html 在这种CSS情况下如何选择相邻表? ... ... ... ...,html,css,Html,Css,如何选择紧跟在后面的表,该表围绕?我尝试了h1 span+table,以便table使用相邻的操作符。但是,它不起作用。这可能是因为表显示为与相邻,而不是与相邻。有什么提示吗?既然您对JavaScript解决方案持开放态度,下面是我所做的 var elms=document.getElementsByTagName('h1'); 对于(变量i=0;i0)) elm.className=“选择下一个表”; } 。选择下一个表格+表格{ 边框:1px纯红; } 桌子{ 宽度:100px; 高度:1

如何选择紧跟在
后面的表,该表围绕
?我尝试了
h1 span+table
,以便table使用相邻的操作符。但是,它不起作用。这可能是因为表显示为与
相邻,而不是与
相邻。有什么提示吗?

既然您对JavaScript解决方案持开放态度,下面是我所做的

var elms=document.getElementsByTagName('h1');
对于(变量i=0;i0))
elm.className=“选择下一个表”;
}
。选择下一个表格+表格{
边框:1px纯红;
}
桌子{
宽度:100px;
高度:100px;
边框:1px实心#000;
}
不选择下一个表
选择下一个表

您的代码正在检查一个表,该表是h1中span元素之后的第一个同级表。我认为你不能根据跨度来选择表格

但是您可以向h1添加一个类并执行以下操作
h1.class+table
或者可以使用第n个子选择器
h1:n个子(1)+table
h1 span+table
元素中选择紧跟在
之后的表。但是您希望选择一个放在
之后的表,因此需要使用
h1+表
选择器。 只有当
包含
标记时,伪类才能帮助您应用规则:

<div>
    <!-- h1 with a span -->
    <h1> 
        <span>...</span> 
    </h1>
    <table>
        ...

    <!-- h1 without a span -->
    <h1>...</h1>
    <table>
        ...
问题是任何浏览器都不支持4级选择器。但它可以通过jQuery为指定的表设置特殊的
class
属性值

$(“h1:has(span)+table”).addClass(“特殊”)
.special{
颜色:红色;
}

带跨距的H1
特殊风格
H1无跨距
共同风格

不幸的是,我无法更改html!nth-child()解决方案不需要您更改html。我需要一个即使第二个表成为第一个表也能正常工作的解决方案!那就需要jQuery或JS解决方案了。jQuery有一个.parent()和.next()函数,可以解决您的问题。您可能需要将javascript和jQuery标记添加到您的问题中(前提是您正在使用jQuery)。@非常感谢您可以单击我的答案旁边的勾号,如果它对您有帮助,请将其标记为正确。请尝试根据您的情况进行调整。
h1:has(span) + table