查找所有视频元素并操作源src



我有一个包含多个视频元素的网站。我必须将每个视频的#t=0.1添加到src=""

<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject" class="seovid">
<object>
<video width="640" controls controlsList="nodownload">
<source src="https://www.xzy/bla.mp4">
Dein Browser unterstützt keine HTML5 Videos oder Du nutzt eine veraltete Version.
</video>
</object>
<h3 itemprop="name“>bla</h3>
<p itemprop="description“>bla</p>
</div>

所以我四处寻找了几个小时,发现了一些与我想要的接近但不适合我的东西:

Jquery-如何获取视频src值?如何使用JavaScript获取视频标签src?

var vids = document.getElementsByTagName('video') 
// vids is an HTMLCollection
for( var i = 0; i < vids.length; i++ ){ 
console.log( vids.item(i).src )
}

因此getElementsByTagName是一个良好的开端。但是如何获得src属性呢?如何操作它来保持实际的视频路径,并在末尾添加sth

因此,您需要将#t=0.1附加到源。您可以通过getElementsByTagName('source)获取源标记元素,然后获取src属性。

下面是代码。

var vids = document.getElementsByTagName('video') 
// vids is an HTMLCollection
for( var i = 0; i < vids.length; i++ ){ 
//#t=0.1
vids.item(i).getElementsByTagName('source')[i].src += "#t=0.1" ;
console.log( vids.item(i).getElementsByTagName('source')[i].src);
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject" class="seovid">
	<object>
		<video width="640" controls controlsList="nodownload">
			<source src="https://www.xzy/bla.mp4">
			Dein Browser unterstützt keine HTML5 Videos oder Du nutzt eine veraltete Version.
		  </video>
	</object>
	<h3 itemprop="name“>bla</h3>
	<p itemprop="description“>bla</p>
</div>
</body>
</html>


<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject" class="seovid">
<object>
<video width="640" controls controlsList="nodownload">
<source src="https://www.xzy/bla.mp4">
			Dein Browser unterstützt keine HTML5 Videos oder Du nutzt eine veraltete Version.
</video>
</object>
<h3 itemprop="name“>bla</h3>
<p itemprop="description“>bla</p>
</div>
var vids = document.getElementsByTagName('video') 
// vids is an HTMLCollection
for( var i = 0; i < vids.length; i++ ){ 
vids[i].children[0].setAttribute('src', vids[i].children[0].src+'#0.1');
}

根据您提供的代码,src不在视频标签上
它是标记源的一个属性
您可以使用getAttribute('NameOfTheAttribute'(在javascript中获取属性的值
下面是正确的js

var vids = document.getElementsByTagName('source') 
// vids is an HTMLCollection
for( var i = 0; i < vids.length; i++ ){ 
console.log( vids.item(i).getAttribute('src') )
}

小提琴:https://jsfiddle.net/xldlx/yw4fzmk1/3/

最新更新