这是我的标记:
<p>A paragraph with <a id="link" href="#link">a link</a> inside it.</p>
这是我的jQuery:
$("a:target").css("font-size","2em");
点击链接后,网址会更改为http://example.com/file.html#link
。但是,font-size
不会增加。
即使我直接加载font-size
http://example.com/file.html#link
也没有变化
为什么选择器不起作用?
更新:我必须使用:target
选择器。没有选择。
答案 0 :(得分:1)
这是您在锚点击后立即使用:target
选择器的问题。当你点击锚点时,javascript会立即运行你的选择器,而浏览器并没有专注于目标元素。您需要暂停代码几毫秒,然后运行:target
选择器。
$("a").click(function(){
setTimeout(function(){
$("a:target").css("font-size","2em");
}, 1);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
A paragraph with
<a id="link" href="#link">a link</a>
inside it.
</p>
&#13;