html - 使用 :target 更改多个元素的 CSS

标签 html css target

好吧,基本上,我有 3 个链接,一些文本,然后是 3 个 div。 (例如:

<a href="#A">A</a><br/>
<a href="#B">B</a><br/>
<a href="#C">C</a><br/>
<p>Blah blah</p>
<div id="A">BlAh</div>
<div id="B">BlBh</div>
<div id="C">POMEGRANTE!</div>

现在,此时,您单击 A 并跳转到 A 等,它会突出显示由于 CSS 的 :target 选择器而选择的 div。但是,我还想在选择 div A 时突出显示链接 A(以与 div 不同的方式)。 Javascript 或 CSS 中是否有任何不需要需要奇怪和/或不稳定的解决方法的方法来做到这一点?

最佳答案

您可以在单击时为链接赋予“事件”类。这是一个使用 jQuery 的实现

$('a').click(function(){
    $('.active').removeClass('active');
    $(this).addClass('active');
});

Demo fiddle

还有一个原生的 Javascript:

var elems =document.getElementsByTagName("a");
for (var i = 0; i < elems.length; i++) {
        elems[i].addEventListener("click", function (e) {
                for (var i = 0; i < elems.length; i++) {
                    elems[i].className="";
                };
                this.className = "active";
        });
}

关于html - 使用 :target 更改多个元素的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18306969/

相关文章:

css - 如何使用 css 将图标应用于链接?

ant - 覆盖子文件中的目标时如何调用 Ant 目标

c++ - 使用 OpenCV 的 CMake 模块目标而不是直接包含所有库?

asp.net - 如何在 ASP.NET 中设置表单提交的目标框架?

javascript - Jquery从点击的div中获取id

html - 在具有 -1em margin-top 的 h1 标记前面的 html 中动态插入 div

css - Nokogiri 不能使用 css 选择器

javascript - 如何在 jQuery 小部件中使用动态属性值

javascript - 使用图片创建网页,但在复制和粘贴时将图片替换为文本

html - 在 3 列显示中叠瓦式 float