javascript - 如何选择和使用 srcset 属性的值?
问题描述
目前我正在设置一些代码来根据键中提供的信息动态更改页面上的特定按钮。我对编程和 jQuery/JavaScript 比较陌生,感谢所有答案!
问题:我想保存一个作为srcset
属性值的 URL,以便可以将其保存到键以更改按钮链接。有一些srcset
属性,我需要的值在 URL 中有一个唯一标识符(例如 www.url.com/this-is-a-sample-image/KQ4/...
,KQ4
作为唯一标识符)。例如,其他srcset
属性有KQ6
、KQ2
等。
如何选择我需要的srcset
属性(作为信息:它始终位于<picture>
标签下的同一位置)并将其内容保存到密钥中?
<div class="unique_img" style="margin-left: 0px;">
<picture>
<source srcset="www.url.com/this-is-a-sample-image/KQ4/..., www.url.com/this-is-a-sample-image/KQ4/... 2x" media="min-width: xx")>
<source srcset="www.url.com/this-is-a-sample-image/KQ6/..., www.url.com/this-is-a-sample-image/KQ6/... 2x" media="min-width: yy")>
<source srcset="www.url.com/this-is-a-sample-image/KQ8/..., www.url.com/this-is-a-sample-image/KQ8/... 2x" media="min-width: zz")>
</picture>
</div>
我尝试了各种 jQuery 方法来srcset
选择我需要的方法,但我无法专门搜索我KQ4
的方法:
$("div.unique_img[srcset*=KQ4]")
$("div.unique_img:contains('KQ4')")
$('div.unique_img:nth-child(1)')
$('div.unique_img').find('KQ4')
$('div.unique_img .srcset')
$("img[name*='KQ4']")
预期的结果是从所需的第一个获取整个 URLsrcset
并将其保存到特定的密钥。到目前为止,我仍然无法弄清楚如何准确地做到这一点。
指向文档适当部分的指针也足够了,因为我想学习 JavaScript!
解决方案
一种解决方案是KQ4
在选择器中添加
var element = document.querySelector('.unique_img source[srcset*="KQ4"]');
console.log(element.srcset);
<div class="unique_img" style="margin-left: 0px;">
<picture>
<source srcset="www.url.com/this-is-a-sample-image/KQ4/..., www.url.com/this-is-a-sample-image/KQ4/... 2x" media="min-width: xx")>
<source srcset="www.url.com/this-is-a-sample-image/KQ6/..., www.url.com/this-is-a-sample-image/KQ6/... 2x" media="min-width: yy")>
<source srcset="www.url.com/this-is-a-sample-image/KQ8/..., www.url.com/this-is-a-sample-image/KQ8/... 2x" media="min-width: zz")>
</picture>
</div>
另一种解决方案是选择所有元素,遍历它们并检查字符串值:
var sources = document.querySelectorAll('.unique_img source');
var targetSource = null;
[...sources].forEach(function(source) {
if(source.srcset.indexOf('KQ4') !== -1) {
targetSource = source.srcset;
}
});
console.log(targetSource);
<div class="unique_img" style="margin-left: 0px;">
<picture>
<source srcset="www.url.com/this-is-a-sample-image/KQ4/..., www.url.com/this-is-a-sample-image/KQ4/... 2x" media="min-width: xx")>
<source srcset="www.url.com/this-is-a-sample-image/KQ6/..., www.url.com/this-is-a-sample-image/KQ6/... 2x" media="min-width: yy")>
<source srcset="www.url.com/this-is-a-sample-image/KQ8/..., www.url.com/this-is-a-sample-image/KQ8/... 2x" media="min-width: zz")>
</picture>
</div>
推荐阅读
- python - 如何通过仅在python中的列表中给出该元素的特定部分来查找列表中元素的索引
- python - 在 Python 中从 Active Directory 获取不记名令牌
- actionscript-3 - 第一个问题!NPC 步行循环随机发生器按预期工作(边界确实需要调整),但不播放嵌套的步行动画?(AS3)
- typescript - TypeScript 抱怨当它是对象时返回布尔值
- c# - ASP.Net Core MVC Ajax json 响应
- continuous-integration - 如何在已经展开的锚点下重用锚定条目?
- java - 如何将文件下载到java中的特定文件夹中?
- javascript - 如何在 React Native 中连接 url
- php - PHPUnit mock - 调用父 __get/__set/__isset
- ios - 如何确保我的 iOS 应用程序的完整性?