单击时获取链接的href

时间:2018-02-13 06:16:11

标签: javascript jquery

我正在使用猫头鹰旋转木马& nivo-lightbox在弹出窗口中显示视频,这一切都运行正常,但我想获取YouTube的URL,以便我可以根据查看的视频更新数据库。

我一直在做我未完成的错误

codepen link

  $('a').nivoLightbox({
                effect: 'fade',
                clickOverlayToClose: false,
                onInit: function () { },
         beforeShowLightbox: function () {   },
         afterShowLightbox: function () {

                console.log("I am here");
                var vid =  $(this).attr("href");
                console.log("vid" + vid);
                updateVideo();
                }
   });

   function updateVideo() {
            console.log("I am here..in ");

   }

如何在上述情况下获取YoutubeID

4 个答案:

答案 0 :(得分:2)

在这里。调用afterShowLightbox时,DOM已更改。

尝试使用以下代码获取网址

var vid = $(e[0][0]).find('iframe').attr('src');

Codepen:https://codepen.io/anon/pen/bLRjQY

检查浏览器控制台中的URL

afterShowLightbox: function (e) {
    console.log("I am here");
    //var vid =  $(this).attr("href");
    var vid = $(e[0][0]).find('iframe').attr('src');
    console.log("vid" + vid);
    updateVideo();
}

答案 1 :(得分:1)

试试beforeShowLightBox

https://codepen.io/anon/pen/rJwrqP

  beforeShowLightbox: function(ele) {
    var vid = $(this.el).attr("href");
    console.log("vid" + vid); //Call Update function
  },

答案 2 :(得分:1)

尝试将您的点击放在灯箱外面。



$("body").on("click", ".play-video-yt", function() {
  var vid = $(this).attr("href");
  console.log("vid: " + vid);
  updateVideo();
});

//$(".play-video-yt").click(function () {
$('a').nivoLightbox({
  effect: 'fade',
  clickOverlayToClose: false,
  onInit: function() {},
  beforeShowLightbox: function() {},
  afterShowLightbox: function() {

    // console.log("I am here");
    // var vid =  $(this).attr("href");
    // console.log("vid" + vid);
    // updateVideo();

  },
});




答案 3 :(得分:0)

您需要从

更改以下代码

var vid = $('a').attr("href");

致:

t: flip `S`V ! ((`$"|A|B|"; `$"|B|C|D|"; `$"|B|"); 1 2 3)