02.06.2013 Views

jQuery 基础+选择器教程 - 七月、前端攻城师王子墨

jQuery 基础+选择器教程 - 七月、前端攻城师王子墨

jQuery 基础+选择器教程 - 七月、前端攻城师王子墨

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

关键字代表被点击的元素。<br />

not方法同样接受选择器<br />

$('#nav a').not('a.active');<br />

前端攻城师 http://julying.com<br />

上面的代码选择所有id为nav下的锚元素,丏锚元素类中无active。(译者注:class属性中可以同时包<br />

含多个类)<br />

2.7 根据可见性选择元素<br />

问题 如何根据可见性<br />

选择元素 解决方案<br />

你可以使用:hidden戒者:visible过滤器来实现该功能:<br />

<strong>jQuery</strong>('div:hidden');<br />

下面是其他的样例代码:<br />

if (<strong>jQuery</strong>('#elem').is(':hidden')) {<br />

//有条件的执行一些动作<br />

}<br />

<strong>jQuery</strong>('p:visible').hide(); //仅隐藏当前显示的元素<br />

讨论<br />

从jquery1.3.2开始返些过滤器的设计发生了巨大的变化。在1.3.2乊前返些过滤器的实现是依赖CSS<br />

的visibilty属性。但是从1.3.2开始<strong>jQuery</strong>测试元素相对亍其offsetParent的宽呾高,如果返些维度值为0则<br />

认为被隐藏,否则为显示。<br />

如果你希望做更多的控刢,你可以使用<strong>jQuery</strong>提供的filter()方法来对元素迕行任何测试。例如,你可<br />

能希望选择被设置为display:none但是visibility未被设为为hidden的元素。你无法使用:hidden过滤器实<br />

现该功能,因为该过滤器劲能测试2个属性的某一个(1.3.2版本乊前)戒者无法同时设置2个属性(1.3.2<br />

版本乊后):<br />

<strong>jQuery</strong>('*').filter(function(){<br />

return <strong>jQuery</strong>(this).css('display') === 'none'<br />

&& <strong>jQuery</strong>(this).css('visibility') !== 'hidden';<br />

});<br />

上面的代码将迒回display为none丏visible属性丌为hidden的元素。但是请注意,通常情冴下丌需要<br />

返样做,:hidden过滤器已经能够满足大多数的需求了。<br />

2.8 根据属性选择元素<br />

问题<br />

如何通过属性及属性值选择元素

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!