Mr_sswen 2019-12-12 10:36 采纳率: 50%
浏览 860
已采纳

jquery选择器无法选择页面中的元素

事情挺简单,我一开始的界面是这种结构的

<body>
        <div id="TOP">
        </div>

        <div id="aritcle" class="...">
        </div>
</body>

然后我用ajax动态的添加了几个div,是这样的

    var s="";
    for()
    {
        s+='<div class="comment">'+...'+'</div>';
        $("body").append(s);
        s="";
    }

这样写我的数据是成功添加到界面了,但是我尝试获取后面添加的元素再进行进一步的处理的时候,我打算遍历一遍我添加的div,结果

$("body").children().length 的值居然是2...也就是说只获取到了我之前页面就有的两个div,我后边动态添加的div在选择器里没有办法获取到,然后我用

$("body").children().eq(2) 也没有办法获取到后边的内容,想问问这是什么情况
高强度在线等解惑,3Q

  • 写回答

3条回答

  • 拾年丶不久 2019-12-13 10:53
    关注

    你的事件是怎么加上的,是下面这样的话当然获取不到

     var s="";
        for()
        {
            s+='<div class="comment">'+...'+'</div>';
            $("body").append(s);
                    console.log(。。。。);
            s="";
        }
    
    

    如果你想保持这样的方法,需要你这么改改:

     var s=$("body");
        for()
        {
            $("body").append($("<div class='comment'>"+..."+"</div>"));
        }
    

    这样写的话就是创建的节点,就能找到节点了,你上面的写法可以理解成是加入的字符串,虽然html把他解析成元素了但是JS内部暂时不认为他是元素,所以获取不到

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献