jQuery单击Class加载链接

时间:2014-08-09 13:37:28

标签: javascript jquery

我在wordpress中安装了一个脚本,可以将所选视频添加到收藏夹中。代码是这样的:当用户点击按钮时,脚本发送一个请求,如“?wpfpaction = add& postid = 147”,我有像这样的视频ID

<div class="wrap-box-video" id="424">
   <div class="button_fav">
     <a href="?wpfpaction=add&postid=424" rel=nofollow"><img src="blabla" /></a>
   </div>
</div>

有可能制作一个jQuery,而不是“button_fav”让我说我有“addfav”和“removefav”(如果视频没有添加到收藏夹或“removefav”,我必须编码回显“addfav” “如果视频存在于收藏夹中”当用户点击带有“addfav”/“removefav”类的div时,jQuery会从class =“wrap-box-video”中提取id并发送href“?wpfpaction=add&postid=424” ?

我设法使用此代码:

$(document).ready(function(){ $("div.addfav").click(function(e){ e.preventDefault(); alert(window.location.href.split('?')[0] + "?wpfpaction=add&postid=" + $(this).parents(".wrap-box-video").attr("id")); }); }

我的问题是现在,如何使这项工作,因为这只给我一个警报,如果我删除“警报()”不起作用,我希望这加载,而不是显示在网址(不显示? wpfaction ....在url之后)

4 个答案:

答案 0 :(得分:0)

烨。给定

<div class="wrap-box-video" id="424">
   <div class="button_fav">
     <a href="?wpfpaction=add&postid=424" rel=nofollow"><img src="blabla" /></a>
   </div>
</div>

使用jQuery,您的代码将类似于:

$(".button_fav").on('click', function() {
  var id = $(this).closest('.wrap-box-video')[0].id;
  window.location = "?wpfpaction=add&postid="+id;
});

答案 1 :(得分:0)

您可以通过多种方式实现这一目标,但最简单的方法可能是使用HTML数据元素(例如data-id="yourIdNumber",然后在点击事件中添加类似的内容 - $(this).closest('.wrap-box-video').data('id');

答案 2 :(得分:0)

所以最终的HTML将是这样的:

<div class="wrap-box-video" id="424">
   <div class="addfav">
       <a href="?wpfpaction=add&postid=424" rel="nofollow"><img src="blabla" alt="add" /></a>
   </div>
</div>
<div class="wrap-box-video" id="425">
   <div class="removefav">
     <a href="?wpfpaction=add&postid=424" rel="nofollow"><img src="blabla" alt="remove" /></a>
   </div>
</div>

用于创建动态URL的jQuery:

$(document).ready(function(){
    $("div.wrap-box-video a").click(function(e){
        e.preventDefault();
        if($(this).parent().hasClass('addfav'))
        {
            alert(window.location.href.split('?')[0] + "?wpfpaction=add&postid=" + $(this).parents('div.wrap-box-video').first().attr("id"));
        }
        else
        {
            alert(window.location.href.split('?')[0] + "?wpfpaction=remove&postid=" + $(this).parents('div.wrap-box-video').first().attr("id"));
        }
    });
});

假设您的移除网址为“wpfpaction = remove&amp; postid = 424”

JS FIDDLE

答案 3 :(得分:0)

这可能有用;

$('.button_fav').click(
    function(){
        var myHref = $(this).children("a").attr('href');
         var videoId = $(this).parents(".wrap-box-video").attr("id");
    }
);