- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想检索类cheese 中所有图像的来源。文档中只会存在 4 个名为 cheese 的类。这些类中的每一个都只包含 1 张奶酪图片。
我昨天才开始学习 JavaScript,因为我需要将它用于我正在处理的使用 CefSharp 的 C# 项目。因此,如果我的某些条款不准确,我深表歉意。
以下代码将检索文档中前 4 个图像的来源。那4张图都是奶酪的通缉图。但是,如果文档中鲜花的图片位于奶酪图片的上方,那么它会取而代之的是检索 3 张鲜花图片和 1 张奶酪图片。我不想这样,因为它太不准确了。
<!DOCTYPE html>
<html>
<body>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/Pacific_Rock.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/oak_smoked.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/labne.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/exho.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/146500lz.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/90926mrdv3ch8z.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/91317lz.jpg"></div>
<script>
<!-- Stores a collection of all <img> elements in the document in a variable called pictures -->
var pictures = document.images;
<!-- Stores the first <img> element in the document in a variable called firstPicture -->
var firstPicture = pictures[0].src;
var secondPicture = pictures[1].src;
var thirdPicture = pictures[2].src;
var fourthPicture = pictures[3].src;
<!-- Displays an alert box showing the first, second, third, and fourth <img> element in the document -->
alert(firstPicture + "\n" + secondPicture + "\n" + thirdPicture + "\n" + fourthPicture)
</script>
</body>
</html>
以下代码将通过定位 content 类中的所有图像来更准确地检索 4 个奶酪图像的来源。即使在文档中鲜花图像位于奶酪图像之上,以下代码仍将实现主要目标。
<!DOCTYPE html>
<html>
<body>
<div class="content">
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/Pacific_Rock.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/oak_smoked.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/labne.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/exho.jpg"></div>
</div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/146500lz.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/90926mrdv3ch8z.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/91317lz.jpg"></div>
<script>
var pictures = document.getElementsByClassName('content')[0];
var firstPicture = pictures.getElementsByTagName('img')[0].src;
var secondPicture = pictures.getElementsByTagName('img')[1].src;
var thirdPicture = pictures.getElementsByTagName('img')[2].src;
var fourthPicture = pictures.getElementsByTagName('img')[3].src;
alert(firstPicture + "\n" + secondPicture + "\n" + thirdPicture + "\n" + fourthPicture)
</script>
</body>
</html>
上面的 2 个代码块只是示例。 真实文档的代码如下:
<!DOCTYPE html>
<html>
<body>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/146500lz.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/90926mrdv3ch8z.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/91317lz.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/Pacific_Rock.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/oak_smoked.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/labne.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/exho.jpg"></div>
<script>
var pictures = document.images;
var firstPicture = pictures[0].src;
var secondPicture = pictures[1].src;
var thirdPicture = pictures[2].src;
var fourthPicture = pictures[3].src;
alert(firstPicture + "\n" + secondPicture + "\n" + thirdPicture + "\n" + fourthPicture)
</script>
</body>
</html>
如何准确定位 4 个 cheese 类并返回类内所有图像的来源?每个类中只会有 1 个奶酪图像,我想将每个图像的值存储到一个变量中,并将它们显示在警告框中。我不想让你们把代码交给我,仅此而已。我想要解释一切如何运作。
感谢您花时间阅读我的问题! :)
这个问题已经得到解答,感谢 jfriend00。
我正在使用以下代码来实现预期的结果:
<!DOCTYPE html>
<html>
<body>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/146500lz.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/90926mrdv3ch8z.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/91317lz.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/Pacific_Rock.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/oak_smoked.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/labne.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/exho.jpg"></div>
<script>
var imgs = document.querySelectorAll(".cheese img");
var img1 = imgs[0].src;
var img2 = imgs[1].src;
var img3 = imgs[2].src;
var img4 = imgs[3].src;
alert(img1 + "\n" + img2 + "\n" + img3 + "\n" + img4)
</script>
</body>
</html>
最佳答案
您可以使用选择器查询来获取目标图像:
var imgs = document.querySelectorAll(".cheese img");
for (var i = 0; i < imgs.length; i++) {
console.log(imgs[i].src);
}
这会找到任何 <img>
class="cheese"
对象的子标签然后遍历它找到的 imgs 集合。 document.querySelectorAll()
返回 nodeList
这是一个类似数组的对象(它上面没有实际的 Array 方法,但它确实有 .length
并且可以使用 [i]
进行索引)。
您可以阅读更多关于 document.querySelectorAll()
的信息here on MDN .它需要一个 CSS selector string作为输入,并将返回所有匹配 DOM 元素的节点列表。
如果你想要 .src
数组中的 URL,您可以这样做:
var imgs = document.querySelectorAll(".cheese img");
var srcArray = [];
for (var i = 0; i < imgs.length; i++) {
srcArray.push(imgs[i].src);
}
// srcArray holds the URLs here
或者,更高级一点:
var srcArray = Array.prototype.map.call(document.querySelectorAll(".cheese img"), function(img) {
return img.src;
});
这是一个工作片段:
var srcArray = Array.prototype.map.call(document.querySelectorAll(".cheese img"), function(img) {
return img.src;
});
document.getElementById("results").innerHTML = srcArray.join("<br>");
#results {
margin-bottom: 30px;
}
<div id="results"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/146500lz.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/90926mrdv3ch8z.jpg"></div>
<div class="flowers"><img src="http://cdn1.1800flowers.com/wcsstore/Flowers/images/catalog/91317lz.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/Pacific_Rock.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/oak_smoked.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/labne.jpg"></div>
<div class="cheese"><img src="http://www.cheese.com/media/img/cheese/exho.jpg"></div>
关于javascript - 如何找到位于多个同名类中的所有图像的来源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34979637/
我正在用 robocopy 编写一个 powershell 脚本来从列表中复制“完整的”unc/文件名路径。我遇到的问题是 robocopy 似乎在我的源路径末尾添加了一个 \。 我有一个 C:\te
我发现守护程序通过这些代码创建了一个容器 // NewBaseContainer creates a new container with its // basic configuration. fu
是否有所有潜在 map 源的列表?在示例页面上,可以浏览四种类型的 map 。外面还有什么? http://tombatossals.github.io/angular-leaflet-directi
是否有所有潜在 map 源的列表?在示例页面上,可以浏览四种类型的 map 。外面还有什么? http://tombatossals.github.io/angular-leaflet-directi
我们的网站比较多,第一次使用ElasticSearch不知道应该怎么配置ES: 我们想使用 ES 作为这些网站的唯一搜索引擎,我们是否应该为每个网站设置单独的 ES 实例? (我想这可能比一个 ES
我需要一些关于我对 UNI 项目的想法的建议。 我想知道是否可以将一个音频文件从不同的音频源分成不同的“流”。例如,将音频文件拆分为:引擎噪音、火车噪音、人声、并非始终存在的不同声音等。 我不一定需要
我想设置“公共(public)彩票”,每个人都可以看到选择是随机和公平的。如果我只需要一点,我会使用例如当天收盘道琼斯指数的 LSB。问题是,我需要 32 位。我需要一个来源: 每日可用 全世界都可以
来自 pickle 的 python 文档: Warning The pickle module is not secure. Only unpickle data you trust. 什么是 pi
我试图安排一个 liquidsoap 流媒体源在未来的特定日期和时间播放。我相信这可以使用 Liquidsoap switch 命令来完成,但我无法理解此处描述的文档:http://liquidsoa
对于Shiny应用程序,我希望能够播放在 session 本身期间生成的音频文件。 如果它是我要上传的音频文件,我将使用 tags$audio(src = "www/name.wav", ty
我想更改我的 OpenGL 来源。图片会说明: 现在是这样的: 这就是我想要的: 当前代码 gl.glViewport(0, 0, width, height); gl.glMatrixMode(GL
我正在尝试让 Stripe 运行起来,我几乎已经完成了,但有一件令人困惑的事情。 source: 'tok_visa' 部分。看起来它可以是“tok_mastercard”、“bank_account
我已经下载了 primefaces 源代码,看看是否可以从中学习。该 jar 包含一堆使用编写器来处理渲染等的 java 类。我期待找到一些 .xhtml 文件 ... and etc etc
如果我查看页面源代码,我会看到 styling += 'ul#topnav a.tabHeader5'; styling += '{'
我正在尝试根据显示器的大小更改背景图像。它不在服务器上运行。您可以在 https://github.com/Umpalompa/Umpalompa.github.io 找到我的所有代码. 我尝试同时使
从here的最底部开始.有一个 URL 生成器,我可以使用引荐来源网址在 Google Play 上生成指向我的应用程序的链接。我如何从谷歌分析中提取该 Activity 来源?我一直在谷歌上搜索,但
我用 Google Weather API 制作了一个插件,目前我正在从 Google 的 API 中提取图像。对于晴天,我正在拉 http://www.google.com//ig/images/w
是否可以通过环境变量为 @CrossOrigin 注释指定来源?我想这样做,以便我可以将相同的代码库用于 uat/staging/production。我希望我的 uat/staging 环境可以通过
我需要等待我的 JavaScript 中的文档准备就绪,才能在正文底部插入一个 div。 我想: 使此 JavaScript 文件尽可能小(如果可能,将其编译到 < 1kb) 在闭包中内联提供文档就绪
我正在开发电子邮件服务并想连接到谷歌帐户,是否可以将我的本地主机用作授权的 JavaScript 来源? 最佳答案 第 1 步:启用 Google+ API http://localhost:4567
我是一名优秀的程序员,十分优秀!