<div border="2px"> <a href="#p1">to 1</a><br/> <a href="#p2">to 2</a><br/> <a href="#p3">to 3</a> </div> <p id="p1">111111111</p> <p id="p2">22222222222</p> <p id="p3">3333333333333333</p>点击超链接a后,可以再控制台通过
$("p:target").css('color','#FAA');来控制文本的颜色,但是直接写js函数确没有效果,如果要在js文件中通过:target的方式获取到对应的元素应该怎么写?
:target是CSS3新增的的突出锚选择器,类似于CSS中的:hover(鼠标移到元素顶部)类型,是一个伪类选择器,代表的是动态状态,无法用于jQuery静态选择。 至于你在console控制台可以使用,是因为你点击了a锚,存在p:target元素。而你静态js代码是初始绑定,当然就拿不到。 正确的做法是:当有锚点触发时,获取:target元素。你可以这样写:
$(window).on('hashchange',function(){ $('p:target').css({...}); });
######回复 @yunfound : 找到了######回复 @yunfound : 在哪操作?######回复 @徐航 : 记得给最佳答案!!!######解决了,多谢;-)######
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。