更改或删除元素src中的一个字符

时间:2013-06-10 04:33:13

标签: javascript jquery

我有一个iframe我需要更改一个角色。

编辑:添加大量额外代码,因为这是我第一次想到的更难。

<iframe href="https://derpxample.com/">
<video id="post_html5_api" class="vjs-tech" loop="" preload="auto" src="https://derpxample.com/v/berp.mp4">
            <source src="https://derpxample.com/v/berp.mp4" type="video/mp4">
</video>
</iframe>

我只是想尽可能简单地将网址协议从https更改为http。内容源不会因为自动生成而更改。因此,以下内容:

$('iframe').each(function(){
      var href = $('iframe').attr('href');
      $('iframe').attr('src',href).attr('class','postVine');
      $('video').attr('src', function(i, s) { 
      return s.replace("https", "http");
      });                 
});

5 个答案:

答案 0 :(得分:1)

使用这样的:

 var element = document.getElementById('my-video');
 element.src = element.str.replace('https', 'http');

元素:

 <video id='my-video' src = 'https://example... > 

答案 1 :(得分:1)

videoElem.src = 'http'+videoElem.src.substr(5);

答案 2 :(得分:1)

也许这对你有用:

$('video').attr('src', $('video').attr('src').replace("https", "http"));

编辑:对于iFrame,您可以尝试这样的事情:

video = $('iframe').contents().find('video');
$(video).attr('src', $(video).attr('src').replace("https", "http"));

答案 3 :(得分:1)

这样的事情怎么样?

var video = document.getElementById('videoID');
video.src = video.src.replace(/^https:/, 'http:');

这并不假设src始终以https:开头,并且如果https发生在URL的其他位置,则不会中断。

答案 4 :(得分:1)

我怀疑你的问题的关键是你提到<iframe>

如果您尝试访问或更改iframe的内容,只有在与父页面相同的主机上加载时才能执行此操作。

有关详细信息,请参阅此问题:Changing the contents of an iframe