Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改a<;a>;当我点击它时标记颜色,它不会';在我更改URL之前,请不要更改_Javascript_Html_Css_Reactjs - Fatal编程技术网

Javascript 如何更改a<;a>;当我点击它时标记颜色,它不会';在我更改URL之前,请不要更改

Javascript 如何更改a<;a>;当我点击它时标记颜色,它不会';在我更改URL之前,请不要更改,javascript,html,css,reactjs,Javascript,Html,Css,Reactjs,我试图做的是,当我点击链接时,基本上保持链接的颜色,悬停导航栏链接使其变灰,当我点击它时,当它停留在URL上时,我想保持不同的颜色。 我正在为链接组件使用react-router-dom <nav> <ul className="nav-wrapper"> <li> <Link className="link" to=&quo

我试图做的是,当我点击链接时,基本上保持链接的颜色,悬停导航栏链接使其变灰,当我点击它时,当它停留在URL上时,我想保持不同的颜色。 我正在为链接组件使用
react-router-dom

         <nav>
          <ul className="nav-wrapper">
            <li>
              <Link className="link" to="/">
                Home
              </Link>
            </li>
            <li>
              <Link className="link" to="/gallery">
                Gallery
              </Link>
            </li>
            <li>
              <Link className="link" to="/about">
                About
              </Link>
            </li>
          </ul>
        </nav>

  • 画廊
  • 关于

我真的不知道在这里使用什么,我不知道当我点击它或在CSS上更改它时是否应该使用useState来尝试和更改它,任何提示都非常感谢。

使用
:active
psudo选择器

使用
:活动的
psudo选择器

react router dom
有一个名为
NavLink
的附加组件,您可以将一个名为
activeClassName
的附加道具传递到该组件。这将允许您为活动链接提供自定义样式

例如:

<NavLink to="/faq" activeClassName="selected">
  FAQs
</NavLink>

常见问题

此组件将替换导航中的所有
Link
组件。

react router dom
有一个名为
NavLink
的附加组件,您可以向该组件传递一个名为
activeClassName
的附加道具。这将允许您为活动链接提供自定义样式

例如:

<NavLink to="/faq" activeClassName="selected">
  FAQs
</NavLink>

常见问题
此组件将替换导航中的所有
链接
组件。

(我不太理解您的问题,所以我两者都理解了) 好啊尝试更改未访问的链接(CSS)
a:link{color:what color;}

const [selectedItem, setSelectedItem] = useState(0);

        <nav>
          <ul className="nav-wrapper">
            <li>
              <Link className={`link ${selectedItem===0?'active':''}`}  to="/" onClick={()=>setSelectItem(0)}>
                Home
              </Link>
            </li>
            <li>
              <Link className={`link ${selectedItem===1?'active':''}`} to="/gallery" onClick={()=>setSelectItem(1)}>
                Gallery
              </Link>
            </li>
            <li>
              <Link className={`link ${selectedItem===2?'active':''}`} to="/about" onClick={()=>setSelectItem(2)}>
                About
              </Link>
            </li>
          </ul>
        </nav>
使用此选项可更改已访问的链接(CSS)'
a:访问{color:what color you want;}

(我不太理解你的问题,所以我两个都做了)
const [selectedItem, setSelectedItem] = useState(0);

        <nav>
          <ul className="nav-wrapper">
            <li>
              <Link className={`link ${selectedItem===0?'active':''}`}  to="/" onClick={()=>setSelectItem(0)}>
                Home
              </Link>
            </li>
            <li>
              <Link className={`link ${selectedItem===1?'active':''}`} to="/gallery" onClick={()=>setSelectItem(1)}>
                Gallery
              </Link>
            </li>
            <li>
              <Link className={`link ${selectedItem===2?'active':''}`} to="/about" onClick={()=>setSelectItem(2)}>
                About
              </Link>
            </li>
          </ul>
        </nav>
好啊尝试更改未访问的链接(CSS)
a:link{color:what color;}

const [selectedItem, setSelectedItem] = useState(0);

        <nav>
          <ul className="nav-wrapper">
            <li>
              <Link className={`link ${selectedItem===0?'active':''}`}  to="/" onClick={()=>setSelectItem(0)}>
                Home
              </Link>
            </li>
            <li>
              <Link className={`link ${selectedItem===1?'active':''}`} to="/gallery" onClick={()=>setSelectItem(1)}>
                Gallery
              </Link>
            </li>
            <li>
              <Link className={`link ${selectedItem===2?'active':''}`} to="/about" onClick={()=>setSelectItem(2)}>
                About
              </Link>
            </li>
          </ul>
        </nav>
使用此选项可更改已访问的链接(CSS)'
a:visited{color:what color you want;}

这能回答您的问题吗@Spectric除非我误解了,否则OP希望修改链接的
:hover
:active
等css属性。我链接的答案也包括plan CSS解决方案。请检查我的代码,我认为您存储了活动组件的编号。感谢大家的帮助,但Angel Martinez comment帮助了我,他使用了我在项目中使用的相同库将链接更改为NavLink,只是一个不同的组件。这是否回答了您的问题@Spectric除非我误解了,否则OP希望修改链接的
:hover
:active
等css属性。我链接的答案也包括plan CSS解决方案。请检查我的代码,我认为您存储了活动组件的编号。感谢大家的帮助,但Angel Martinez comment帮助了我,他使用了我在项目中使用的相同库将链接更改为NavLink,只是一个不同的组件
const [selectedItem, setSelectedItem] = useState(0);

        <nav>
          <ul className="nav-wrapper">
            <li>
              <Link className={`link ${selectedItem===0?'active':''}`}  to="/" onClick={()=>setSelectItem(0)}>
                Home
              </Link>
            </li>
            <li>
              <Link className={`link ${selectedItem===1?'active':''}`} to="/gallery" onClick={()=>setSelectItem(1)}>
                Gallery
              </Link>
            </li>
            <li>
              <Link className={`link ${selectedItem===2?'active':''}`} to="/about" onClick={()=>setSelectItem(2)}>
                About
              </Link>
            </li>
          </ul>
        </nav>