js获取页面元素

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <div class="main>
            <p class="item" id="14">24</p>    
            <p class="item" id="12">22</p>
            <p class="item" id="13">2</p>    
            <p class="item" id="14">2</p>    
        </div>
    </body>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script type="text/javascript">
        var arr = document.getElementsByClassName('item')
        console.log(arr.length )
        $('.item').each(function(index) {
            alert(index + ': ' + $(this).text());
          });
    </script>
</html>

打印结果为啥是3,第一个为22,去掉main标签后就正确了,求原因

阅读 3.8k
6 个回答

有2个问题:
1.main 少了个双引号
2.有重复id

<div class="main> 你落下个双引号

因为你的 class="main" 少了最后的双引号,浏览器渲染的出问题了。。。

你的双引号,把你的第一个p标签添加进去了。所以才出现的数组长度是3.

你没发觉第一个P标签有异常么。。。,淡淡的粉色散发出独特的气息~,main少了闭合的引号

main 少了个双引号。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题