【问题标题】:how to use sizzle.js separate如何单独使用 sizzle.js
【发布时间】:2012-03-10 11:25:12
【问题描述】:

我从https://github.com/jquery/sizzle 下载了 sizzle.js 我的代码是:

<!DOCTYPE html>
<html>
<head>
    <title>Demo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script src="sizzle.js" type="text/javascript"></script>
    <script type="text/javascript">
        window.onload=load;
        function load(){
            alert(Sizzle("#test"));
            alert(Sizzle("#test").innerHTML);
        }
    </script>
</head>
<body>
<div id="test">abc</div>
</body>
</html>

但是警告“[object]”,“undefined”,请告诉我我的代码有什么问题?

【问题讨论】:

    标签: javascript sizzle


    【解决方案1】:

    您犯了一个小错误,它返回 NodeList 而不是单个 NodeNodeList 类似于一个数组,但用于存储Nodes。您可能想使用第一个。

    // this is how you do it
    alert( Sizzle('#test')[0].innerHTML );
    

    【讨论】:

      【解决方案2】:

      Sizzle() 函数返回一个匹配元素的数组。因此,如果您知道只有一个匹配元素(如果您按 id 选择,则应该有)尝试:

      alert(Sizzle("#test")[0].innerHTML); 
      

      【讨论】:

      • 谢谢,但是为什么按 id 选择会返回一个数组?在 jquery 中,按 id 选择是单个 emelemt。
      • 不,在 jQuery 中 $("#test") 也返回一个数组(嗯,一个类似数组的对象)。只是在 jQuery 中,当您在 $("#test").html() 这样的结果上使用 jQuery 方法时,jQuery 方法知道它们正在处理一个数组,如果没有匹配项,它们不会给出错误,并且对于返回值的方法(如 @ 987654325@) 如果有多个元素匹配,它们只返回第一个元素的值。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多