jQuery.contains()函数用于判断指定元素内是否包含另一个元素。

简而言之,该函数用于判断另一个DOM元素是否是指定DOM元素的后代。

该函数属于全局jQuery对象。

语法

jQuery 1.4 新增该静态函数

jQuery.contains( container, contained )

参数

参数 描述
container Element类型指定可能包含其他元素的祖辈容器元素。
contained Element类型指定可能被其他元素包含的后代元素。

返回值

jQuery.contains()函数的返回值为Boolean类型,如果指定元素包含另一个元素,则返回true,否则返回false

示例&说明

jQuery.contains()仅用于比较两个DOM元素(Element类型,不能是NodeList或其他对象)。它会从contained元素的父元素开始逐级向上查找,判断其是否等于container元素,如果是则返回true,否则返回false

请参考以下HTML示例代码:

<div id="n1">
<p id="n2">
<span id="n3">CodePlayer</span>
</p>
</div>
<p id="n4">专注于编程开发技术分享</p>

以下是与jQuery.contains()函数相关的jQuery示例代码,以演示jQuery.contains()函数的具体用法:运行代码

//在当前页面内追加换行标签和指定的HTML内容
function w( html ){
    document.body.innerHTML += "<br>" + html;
} var n1 = document.getElementById("n1");
var n2 = document.getElementById("n2");
var n3 = document.getElementById("n3");
var n4 = document.getElementById("n4");
var span = document.getElementsByTagName("span"); // n1包含n2
w( $.contains(n1, n2) ); // true // n1包含n3
w( $.contains(n1, n3) ); // true // n1不包含n4
w( $.contains(n1, n4) ); // false // n1虽然包含span元素(n3),但变量span是NodeList对象,不是Element类型。
w( $.contains(n1, span) ); // false

随机推荐

  1. RBAC 继完善代码之后的,再一次完善

    在上一篇文章中,我的中间件是 保存在我的web 业务app 中的.但是rbac我想要完成的是一个 组件的功能, 所以这个验证的 中间件,  何不放到rbac的app之中: 为了太乱先放一个项目的目录图 ...

  2. Oracle_高级功能(9) 性能优化

    1.oracle优化器 优化目标分为4种: choose (选择性) rule (基于规则) first rows(第一行) all rows(所有行) Description:描述sql的执行计划 ...

  3. hdu 1072(BFS) 有炸弹

    http://acm.hdu.edu.cn/showproblem.php?pid=1072 题目大意是在一个n×m的地图上,0表示墙,1表示空地,2表示人,3表示目的地,4表示有定时炸弹重启器. 定 ...

  4. widget jquery 理解

    jquery ui 的所有组件都是基于一个简单,可重用的widget. 这个widget是jquery ui的核心部分,实用它能实现一致的API,创建有状态的插件,而无需关心插件的内部转换. $.wi ...

  5. lua 2.2 变种

    1.修改 ~= 操作符为 != 2.取消 --[[ ]] 多行注释语法 下载源码

  6. Java中的四种内部类

    Java中有四种内部类: 成员内部类:定义在另一个类(外部类)的内部,而且与成员属性和方法平级,故称成员内部类.类比于外部类的非静态方法,如果用static修饰就变成了静态内部类 静态内部类:使用st ...

  7. 如何从平面设计转行到UI设计?

    时代的变迁,科技的进步,工具的发展,薪资的差距,促使许多人转行的原因,但平面与界面两者之间有着哪些的差异呢?如果,想要转行又该具备哪些条件呢? 平面.界面设计之间的差异性 平面设计以『视觉』为主轴,强 ...

  8. 用 Python 写 Robot Framework 测试

    Robot Framework 框架是基于 Python 语言开发的,所以,它本质上是 Python 的一个库. 1.你懂 Python 语言. 2.又想使用 Robot Framework 测试框架 ...

  9. 安装linux子系统, 如何用win10 里面的linux子系统来进行通信

    cd /mnt/d/linux_share即可 就把linux_share这个目录挂载到linux里面了.这样windows和linux可以同时修改和访问这个文件夹里面的内容. 安装:cmd中输入ba ...

  10. mysql 5.7.10 下互为主备配置

    mysql安装方法这里就不在介绍,网上有很多教程 环境介绍: A主机: win2008_x64+mysql5.7.10 64位,ip192.168.7.180 B主机: win2008_x64+mys ...