是否可以替换<a> href values depending on the href value?</a>的一部分

时间:2013-02-14 18:05:32

标签: jquery html video colorbox href

我正在尝试集成Video JS和Colorbox。目标是使用jQuery简单地更改其中包含“.mp4”的所有href的值,然后将“.mp4”更改为“.html”。这将允许现有代码工作和两者的集成。通过将“.mp4”更改为“.html”,我可以将Video JS Player放在html页面中并在Colorbox中加载页面。目前,视频只是在没有播放器的情况下加载到Colorbox中。

<a href="http://mysite/files/myvideo.mp4" class="cboxElement">Video</a>


$(document).ready(function(){

    $("a.cboxElement[href^='.mp4']")
   .each(function()
   { 
      this.href = this.href.replace(/^".mp4"/, 
         ".html");
   });


    $(".cboxElement").colorbox({iframe:true, innerWidth:640, innerHeight:370});
});

3 个答案:

答案 0 :(得分:1)

^表示为start with,但在您的情况下不是.mp4,因此您必须选择$两个结尾的属性选择器(可能会说)。

试试这个:http://jsfiddle.net/QK9Ry/

$("a.cboxElement[href$='.mp4']").each(function () {
   this.href = this.href.replace(".mp4",".html");
});

答案 1 :(得分:0)

没有测试,我认为这一行是错误的:

this.href = this.href.replace(/^".mp4"/, 
     ".html");

^表示从Regex开始。试着这样做:

this.href = this.href.replace(".mp4", 
     ".html");

答案 2 :(得分:0)

只需回答两个答案。你需要它们才能做到正确。

$(function(){

$("a.cboxElement[href$='.mp4']")
 .each(function()
{

  this.href = this.href.replace(".mp4", ".html");

});


$(".cboxElement").colorbox({iframe:true, innerWidth:640, innerHeight:370});
});

http://jsfiddle.net/2A3UP/