如何使用javascript更改src属性?

时间:2015-07-20 07:58:25

标签: javascript

我有一些页面需要更改它的来源"来源"标签" src"属性,但我现在无法到达任何地方。 问题是,我可以使用getelemtbyId,但这些" source"标签没有ID。 这是一个例子:

<section class="video-player">
<div id="91443f0a97f34c1294d05a8cad2d1bcc">
<video __idm_id__="297986">
<source src="https://example.org/1.mp4">
This browser cannot play .mp4, .ogg, or .webm files.Try using a different browser, such as Google Chrome.
</video>
</div>
<h3 class="hidden">No playable video sources found.</h3>
</section>

我搜索并看到其他主题,我的问题在3个方面有所不同:
1-源标签没有ID 2-我需要更改所有源标签src属性,它们有多少,1,3或10 3-我只能使用普通的javascript。

谢谢!
更新1: 好吧,我试图在上下文中描述这个问题,所以它可能对其他人有用,但我真的被困在这里了! 问题是,我正在尝试为Chrome创建一个tampermonkey脚本,以便将src="https://example.com/ex.mp4"转换为src="http://example.com/ex.mp4",因为我的公司非常重视https流量,因此我们无法观看视频教程。
没有使用下面的答案,我无法做到这一点。只需将src属性中的https更改为http。

4 个答案:

答案 0 :(得分:0)

您可以将document.body.querySelectorAll用于此

var sourcesNodeList = document.body.querySelectorAll('source');

// cast it to an array so you can use iterative methods on it
Array.prototype.sourcesNodeList.forEach(function (source) {
    // do something with source.src
});

答案 1 :(得分:0)

您可以使用

 var source = document.getElementsByTagName('source');
//the source element will be array of all source elements in the html
    var src = source[0].getAttribute("src"); //old Source of first source element
    var newsrc = source[0].setAttribute("src",'new source value'); //set new src of first source element

答案 2 :(得分:0)

如果您只想获取资源,那么您可以使用选择器video source来获取所有资源:

// Use more detailed selector to get the one on your example.
var sources = document.querySelectorAll('video[__idm_id__="297986"] source');
var len = sources.length, i;
for (i = 0; i < len; ++i) {
    // Apply something to source.
    console.log(sources[i].src);
}
<section class="video-player">
<div id="91443f0a97f34c1294d05a8cad2d1bcc">
<video __idm_id__="297986">
<source src="https://example.org/1.mp4">
This browser cannot play .mp4, .ogg, or .webm files.Try using a different browser, such as Google Chrome.
</video>
</div>
<h3 class="hidden">No playable video sources found.</h3>
</section>

答案 3 :(得分:0)

可以尝试:

var source = document.getElementsByTagName("source")

for (var i = 0; i < source.length; i++) {
    source[i].src = 'LINK HERE';
}