代码之家  ›  专栏  ›  技术社区  ›  11teenth

如何操作此元素的子节点?

  •  0
  • 11teenth  · 技术社区  · 5 年前

    我的Chrome扩展需要将子节点的大小更改为以下值。

    我可以在控制台中显示以下元素:

    var divContainer2 = $(divContainer)[0];
    console.log('Now divContainer is: ', divContainer2); 
    

    控制台中由上面显示的元素(只是它的开始,但显示父/子关系):

    <div class="v7wOcf ZGnOx" style="margin-top: 80px; width: 1207px;">
            <div jscontroller="Zptowf" jsaction="R6jwd:hKrBwc;c96EGd:v8OFqc;QmtCl:.CLIENT;qVp5ue:.CLIENT;AE9bOd:.CLIENT;MmB7ud:.CLIENT;zkkUY:.CLIENT;lyIVcf:.CLIENT;wuANJc:.CLIENT;voP7ud:.CLIENT" jsmodel="PuTOgd IaLzN tZ2gdc dSSknb PTCFbe ephE9e lkzLle OqPTdc nQnzVc VeaFK uArcre" data-without-stream-item-materials="" class="DReKqd" data-submission-id="1" data-view-id="46"><div jscontroller="cs6ocd" jsaction="rcuQ6b:npT2md;KDsQaf:Qp7hp;qFgNIJf-Wvd9Cc Yiql6e iTy5c editable" tabindex="0" role="textbox" aria-required="true" aria-multiline="true"
    

    我想将类似的样式应用于子对象(第二行的DIV……使用“jscontroller”)。

    为了把事情说清楚,我试过:

    var divContainer3 = divContainer2[0];
    var divContainer3 = divContainer2.children[0]; 
    

    我错过了什么?为什么我不能抓取对象的childnode,我可以如此清楚地推到控制台和操作?

    0 回复  |  直到 5 年前
        1
  •  0
  •   11teenth    5 年前

    我仍然感到困惑的是,控制台将显示一个在CONSOLE.log中调用的元素,即使它在运行特定代码行时不存在。

    所以我可以在控制台中看到元素,以及它的节点/长度,但是简单记录长度的下一行代码将为零。因为当运行长度代码时,元素实际上并不存在。

    我添加了一个小的'等待'程序,以确保在我试图操纵它之前,东西就在那里。