博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery学习——内容筛选&可见性筛选
阅读量:5328 次
发布时间:2019-06-14

本文共 3324 字,大约阅读时间需要 11 分钟。

:contains() Selector

 描述: 选择所有包含指定文本的元素。

jQuery( ":contains(text)" )

text: 用来查找的一个文本字符串。这是区分大小写的。

匹配的文本可以直接出现在所选的元素中,或在该元素的任何后代中,或两者兼有。正如属性值选择器,:contains()选择器中括号内的文字,可为纯文本,或用引号包围。文本必须有匹配的情况下被选中。

查找所有包含“John”的div,并强调他们。

$("div:contains('John')").css("text-decoration", "underline");

:has() Selector

 描述: 选择元素其中至少包含指定选择器匹配的一个种元素。

如果表达式 $('div:has(p)') 匹配一个 <div>,那么应有一个<p>存在于 <div> 后代元素中的任何地方,不是直接的子元素也可以。

Additional Notes:

  • 因为 :has() 是一个 jQuery 延伸出来的一个选择器 。并且不是的CSS规范的一部分, 使用:has()查询不能充分利用原生DOM提供的querySelectorAll() 方法来提高性能。为了在现代浏览器上获得更佳的性能,请使用$("your-pure-css-selector").has(selector/DOMElement) 代替。

给所有含有 p 段落标签的 div 加上一个名为 "test" 的 class。

      

Hello in a paragraph

Hello again! (with no paragraph)

 

:parent Selector

描述: 选择所有没有子元素的元素(包括文本节点)。

这个和 :parent选择器相反。

需要注意的一件重要的事情是:empty(和 :parent)的子元素包括文本节点。

W3C的建议<p>元素都至少有一个子节点,即使这个子节点是文字(见http://www.w3.org/TR/html401/struct/text.html#edef-P)。另一方面,其他一些元素是空的(即没有子节点):例如,<input>, <img>, <br>, 和 <hr>。

查找的所有空元素 - 他们没有子元素或文本。

 

      
TD #0
TD #2
TD#5

 

:has() Selector

 描述: 选择元素其中至少包含指定选择器匹配的一个种元素。

这个正好和 :empty相反。

需要注意的一件重要的事情是:parent (和 :empty)所涉及的子元素,包括文本节点。

W3C的建议<p>元素都至少有一个子节点,即使这个子节点是文字(见)。另一方面,其他一些元素始终是空的(即没有子节点):例如, <input><img><br>, and <hr>

Additional Notes(其他注意事项):

  • 因为:parent 是一个 jQuery 延伸出来的选择器,并不是的CSS规范的一部分,使用:parent 查询不能充分利用原生DOM提供的querySelectorAll() 方法来提高性能。为了当使用:parent 的时候在现代浏览器上获得更佳的性能,首先使用纯CSS选择器选择元素,然后使用.filter(":parent").

查找含有子元素的 td 元素,包括含有文本的 td。

      
Value 1
Value 2

:hidden Selector

 描述: 选择所有隐藏的元素。

元素可以被认为是隐藏的几个情况:

  • 他们的CSS display值是none
  • 他们是type="hidden"的表单元素。
  • 它们的宽度和高度都显式设置为0。
  • 一个祖先元素是隐藏的,因此该元素是不会在页面上显示。

元素visibility: hiddenopacity: 0被认为是可见的,因为他们仍然占据布局空间。在动画,隐藏一个元素,该元素被认为是可见的直到动画结束。

不在文档中的元素是被认为是不可见的;如果当他们被插入到文档中,jQuery没有办法知道他们是否是可见的,因为元素可见性依赖于适用的样式。

在动画显示的元素期间,动画一旦开始,该元素就被认为是可见的。

在jQuery 1.3.2中,:hidden判断方式做了修改。如果他或者其任何父级元素不占据布局空间,这个元素就被认为是隐藏的。CSS的能见度属性(visibility)不影响这个选择器的判断(因此$(elem).css('visibility','hidden').is(':hidden') == false )。更详细的大纲的变化:release notes。

Additional Notes(其他注意事项):

  • 因为 :hidden() 是一个 jQuery 延伸出来的一个选择器。 并且不是的CSS规范的一部分, 使用:hidden()查询不能充分利用原生DOM提供的querySelectorAll() 方法来提高性能。为了在现代浏览器上获得更佳的性能,请使用.filter(":hidden")代替。

示所有隐藏divs和统计隐藏的inputs。

 
        
Hider!
Hider!

:visible Selector

 描述: 选择所有可见的元素。

如果元素中占据文档中一定的空间,元素被认为是可见的。可见元素的宽度或高度,是大于零。

元素的visibility: hidden 或 opacity: 0被认为是可见的,因为他们仍然占用空间布局。

不在文档中的元素是被认为隐藏的;jQuery没有办法知道他们是否是可见的,因为元素可见性依赖于适用的样式。

隐藏元素上做动画,元素被认为是可见的,直到动画结束。显示元素上做动画,在动画的开始处该元素被认为是可见的。

:visible的计算方法是在jQuery 1.3.2改变。 发行说明中列出更详细的变化。

Additional Notes(其他注意事项):

  • 因为:visible 是一个 jQuery 延伸出来的选择器,并不是的CSS规范的一部分,使用:visible 查询不能充分利用原生DOM提供的querySelectorAll() 方法来提高性能。为了当使用:visible 的时候在现代浏览器上获得更佳的性能,首先使用纯CSS选择器选择元素,然后使用.filter(":visible")代替.
        

 

转载于:https://www.cnblogs.com/pilee/p/3470123.html

你可能感兴趣的文章
JS 在火狐浏览器下关闭弹窗
查看>>
css3渐变画斜线 demo
查看>>
UIView中的坐标转换
查看>>
JS性能DOM优化
查看>>
设计模式 单例模式 使用模板及智能指针
查看>>
c++11 多线程依次打印ABC
查看>>
c#的const可以用于引用类型吗
查看>>
手动实现二值化
查看>>
What Linux bind mounts are really doing
查看>>
linux top命令详解
查看>>
博弈论小结
查看>>
模拟Post登陆带验证码的网站
查看>>
预科阶段:快速实战入门
查看>>
CentOS下安装配置MySQL8.0的步骤详解
查看>>
NYOJ458 - 小光棍数
查看>>
java中常用方法
查看>>
【Programming Clip】06、07年清华计算机考研上机试题解答(个别测试用例无法通过)...
查看>>
HTML基础
查看>>
老罗将死,或者Android也将就换代,但是互联网的,共享,互助精神将永存
查看>>
canvas动画
查看>>