jQuery点击类加载链接

jQuery click Class load a link

本文关键字:链接 类加载 jQuery      更新时间:2023-09-26

我在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"answers"removefav"(我必须编码,以回应"addfav",如果视频不添加到收藏或"removefav",如果视频存在于收藏)当用户点击div与类"addfav"/"removefav"的jQuery提取id从class="wrap-box-video"和发送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")); }); }

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

所以最终的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>
jQuery创建动态URL:
$(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"));
        }
    });
});

假设您的移除URL为"wpfpaction=remove&postid=424"

JS小提琴

是的。鉴于

<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;
});

有几种方法可以做到这一点,但最简单的方法可能是使用HTML数据元素(即data-id="yourIdNumber"),然后在您的点击事件中放置这样的内容- $(this).closest('.wrap-box-video').data('id');

可以;

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