内容目录
jQuery的:target选择器用于匹配id属性值等于当前文档URI的锚点名称的元素,将其封装为jQuery对象并返回。
如果当前文档的URI为https://codeplayer.vip/#top
,则:target选择器匹配id="top"的元素。
语法
jQuery1.9 新增该选择器。
jQuery( ":target" )
返回值
返回封装了id为当前文档URI的锚点名称的元素的jQuery对象。
注意::target选择器最好在$(window).load(callback)
的函数参数callback
中使用,否则在FireFox、Chrome等浏览器中可能会出现无法匹配到指定元素的问题(例如下面HTML示例代码中的n2)。
示例&说明
以下面这段HTML代码为例:
<div id="n1">
<p id="n2">
<span id="n3" class="abc">span2</span>
<span id="n4">span3</span>
</p>
</div>
假设当前文档的URI为http://localhost/demo.html#n2
,则$(":target")
所匹配的元素如以下jQuery代码所示:
// 选择了id为n2的<p>元素
var $target = $(":target");
if( $target.length == 1){ // 如果匹配到了元素
var ele = $target[0]; // 获取JS原生DOM元素
alert( ele.tagName + "#" + ele.id ); // P#n2
}
上述jQuery代码在FireFox、Chrome等浏览器中可能无法获取到匹配的元素,你可以将:target选择器放在window.onload事件中处理:
// 在Chrome中,使用$(document).ready()仍然无法获取到匹配的元素
// 必须使用$(window).load()来获取
$(window).load(function(){
var $target = $(":target");
if( $target.length == 1){ // 如果匹配到了元素
var ele = $target[0]; // 获取JS原生DOM元素
alert( ele.tagName + "#" + ele.id ); // P#n2
}
});
0 条评论
撰写评论