首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据src值选择Iframe并更改它

根据src值选择Iframe并更改它
EN

Stack Overflow用户
提问于 2017-10-23 21:54:22
回答 3查看 5.9K关注 0票数 3

我在努力解决这个简单的问题时感到卡住了。我有一个iframe标签来加载youtube视频:

代码语言:javascript
运行
复制
<div class="mdl-cell mdl-card mdl-shadow--4dp portfolio-card"><iframe id="youtube" width="560" height="315" src="https://www.youtube-nocookie.com/embed/******" frameborder="0"></iframe>

如果有ID,我可以选择这个iframe,例如使用以下代码的id="youtube“:

代码语言:javascript
运行
复制
document.getElementById('youtube').src = 'https://www.youtube.com/embed/WC3ONXJn9FQ';

但问题是,我的iframe没有id,如果没有id就可以获得元素,但是匹配src url并更改url,我就会犹豫不决?

编辑:我不能使用Jquery

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-10-23 21:57:45

您可以使用document.querySelector来匹配属性:

代码语言:javascript
运行
复制
var iframe = document.querySelector('iframe[src^="https://www.youtube-nocookie.com/embed/"]');
iframe.src = 'https://www.youtube.com/embed/WC3ONXJn9FQ';

^=运算符匹配以特定字符串开头的属性。

票数 5
EN

Stack Overflow用户

发布于 2017-10-23 21:57:24

代码语言:javascript
运行
复制
document.querySelector('iframe[src="old url"]').src = 'new url';

查看CSS 属性选择器

票数 1
EN

Stack Overflow用户

发布于 2017-10-23 22:02:03

对于css属性选择器和querySelector函数来说,这非常简单。

代码语言:javascript
运行
复制
const url = 'https://www.youtube-nocookie.com/embed/******'


const iframe = document.querySelector(`iframe[src="${url}"`);

function changeIframeSrc(newUrl){
  iframe.setAttribute('src', newUrl);
}
代码语言:javascript
运行
复制
<div class="mdl-cell mdl-card mdl-shadow--4dp portfolio-card"><iframe id="youtube" width="560" height="315" src="https://www.youtube-nocookie.com/embed/******" frameborder="0"></iframe>

<button onclick="changeIframeSrc('https://www.youtube.com/embed/AaGK-fj-BAM')">Change Iframe SRC</button>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46899129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档