我正在做一个扩展,可以在HTML页面的“ uCW” div中获取图像URL。
当前,我有:
var uCW = jNode.closest("div._q7o");
var image = uCW[0].children[1].getElementsByTagName("img")[0].src;
console.log(image);
通过进入div / children并拖动图像来找到图像。不幸的是,这种方法是有问题的,因为如果孩子改变了,这种方法就会停止工作,而这是他们经常做的事情。
相反,我想通过搜索div及其所有子项(有很多子项)来选择以“ https://external”开头的第一个图像/字符串(我要开始的所有图像)来选择图像这样,而且似乎没有改变。) 这是我尝试过的:
var uCW = jNode.closest("div._q7o");
var image = $(uCW).find([name^="https://external"]).src;
console.log(image);
这不起作用。控制台仅显示“未定义”。
答案 0 :(得分:1)
如果ucw
是一个类名,则可以这样操作(如果它是一个id,则应该写$("#ucw")
):
var image = $(".ucw").find('[src^="https://external"]').attr("src");
console.log(image);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="ucw">
<img src="https://external/1.jpg"/>
</div>
如果您的图片具有名称属性,并且以图片的来源作为值,则您也可以调整尝试通过它们的名称属性来获取图片的方式,就像这样做一样:
var image = $(".ucw").find('[name^="https://external"]').attr("src");