jQuery.contains()无法正常工作

Dea*_*ool 4 javascript jquery contains

在下列情况下我应该得到一个"警报",但我没有得到任何"警报".我正在尝试一个简单的例子jQuery.Contains().

<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
        <script>
            $(document).ready(function() {
                var alpha = $.contains('body','p') {
                    alert(alpha);
            });
        </script>
    </head>
    <body>
        <p>This is a paragraph.</p>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

vdu*_*dua 10

根据jQuery 文档,API只接受元素节点(不是JavaScript/jQuery 对象选择器)

检查DOM元素是否是另一个DOM元素的后代.

仅支持元素节点; 如果第二个参数是文本或注释节点,$ .contains()将返回false.

注意:第一个参数必须是DOM元素,而不是jQuery对象或纯JavaScript对象.

你应该将代码更改为

$(function () {
   alert($.contains(document.body, $("p")[0])) //alerts true
   alert($.contains(document.body, document.getElementsByTagName("p")[0]));    //alerts true
})
Run Code Online (Sandbox Code Playgroud)