单击选项卡时检查 css class 是否更改
Check if the css class is changed when a Tab is clicked
我正在使用 Tab from Semantic UI 作为 table 的顶部。它包含更多选项卡,我在开发人员工具中注意到,所选选项卡在其正常 class 元素旁边包含一个新元素 active
.
这是代码:
const panes = [
{
menuItem: (
<Menu.Item
className="tab-title"
key="Reference"
style={{
display: 'block',
background:'url(https://svgshare.com/i/Nnu.svg) left center no-repeat',
backgroundSize: 'cover',
minWidth: 292,
borderColor: 'transparent',
}}>
<p>Reference</p>
</Menu.Item>
),
render: () => <Tab.Pane>{referenceTab}</Tab.Pane>,
},
{
menuItem: (
<Menu.Item
className="tab-title"
key="List"
style={{
display: 'block',
background:'url(https://svgshare.com/i/Nnu.svg) left center no-repeat',
backgroundSize: 'cover',
minWidth: 300,
borderColor: 'transparent',
}}>
<p>List</p>
</Menu.Item>
),
render: () => <Tab.Pane>{listTab}</Tab.Pane>
},
];
return (
<Layout>
<TabContainer panes={panes} />
</Layout>
);
并且在检查模式下,选定的选项卡具有此 class:active item tab-title
而未选定的选项卡具有 item tab-title
.
有没有办法在代码中使用它?例如,如果 class 包含 active
.
,我想用另一个更改背景 url
您可以使用 Element.classList.contains("active")
。
MDN for classList. MDN for contains
编辑:
或者,您可以添加 css 看起来像
.active.tab-title {
background-color:red;
}
尝试像这样动态设置 css 属性。
style={{
background-color: ${active ? 'red' : 'blue'},
}}>
我正在使用 Tab from Semantic UI 作为 table 的顶部。它包含更多选项卡,我在开发人员工具中注意到,所选选项卡在其正常 class 元素旁边包含一个新元素 active
.
这是代码:
const panes = [
{
menuItem: (
<Menu.Item
className="tab-title"
key="Reference"
style={{
display: 'block',
background:'url(https://svgshare.com/i/Nnu.svg) left center no-repeat',
backgroundSize: 'cover',
minWidth: 292,
borderColor: 'transparent',
}}>
<p>Reference</p>
</Menu.Item>
),
render: () => <Tab.Pane>{referenceTab}</Tab.Pane>,
},
{
menuItem: (
<Menu.Item
className="tab-title"
key="List"
style={{
display: 'block',
background:'url(https://svgshare.com/i/Nnu.svg) left center no-repeat',
backgroundSize: 'cover',
minWidth: 300,
borderColor: 'transparent',
}}>
<p>List</p>
</Menu.Item>
),
render: () => <Tab.Pane>{listTab}</Tab.Pane>
},
];
return (
<Layout>
<TabContainer panes={panes} />
</Layout>
);
并且在检查模式下,选定的选项卡具有此 class:active item tab-title
而未选定的选项卡具有 item tab-title
.
有没有办法在代码中使用它?例如,如果 class 包含 active
.
您可以使用 Element.classList.contains("active")
。
MDN for classList. MDN for contains
编辑: 或者,您可以添加 css 看起来像
.active.tab-title {
background-color:red;
}
尝试像这样动态设置 css 属性。
style={{
background-color: ${active ? 'red' : 'blue'},
}}>