我有一个包含多个视频元素的网站。我必须将每个视频的#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/