javascript - 如何操作此元素的子节点?
问题描述
我的 Chrome 扩展程序需要将子节点的大小更改为以下。
请注意如何为父 DIV 设置“宽度”……我的 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];
和别的...
我错过了什么?为什么我不能抓住我可以如此清晰地推送到控制台和操作的对象的子节点?
感谢您的任何帮助/方向/指导...
解决方案
问题不在于语法......它是动态内容加载......所以当我抓住 childNodes(或试图)时,元素不存在。
让我感到困惑的是,CONSOLE 将显示一个在 console.log 中调用的元素,即使它在特定代码行运行时并不存在。
所以我可以在控制台中看到元素,它是节点/长度,但是下一行代码只是简单地记录了长度将归零。因为当长度代码运行时,该元素并不真正存在。
我添加了一些“等待”程序,以确保在我尝试操纵它之前它就在那里。
推荐阅读
- python-3.x - 如何使用 python 将 lrtemplates、DNG、XMP 应用于图像?
- typescript - 来自其他类型的键和值的类型
- vector - 如何从planet.osm.pbf文件中获取osm地图(矢量图块)生成的所有缩放级别(z0到z7)所需的形状文件?
- c# - 通过引用传递值类型而不在c#中初始化
- javascript - 如何在某些特定条件下迭代 HTML 元素?
- pine-script - 标签放置不正确
- javascript - 如何在javascript或Angular 10中选择多个拖动的div
- html - 如何删除 HTML 中的 EMOJIS?
- mysql - 基于时间戳更新列的任何快速方法
- php - 过期 30 天后删除 WooCommerce 优惠券