如何基于";检索onclick事件的href值;“类”;Javascript中的选择器?

如何基于";检索onclick事件的href值;“类”;Javascript中的选择器?,javascript,jquery,onclick,Javascript,Jquery,Onclick,我有 以及下面的javascript。当我点击上面的链接时,它会显示带有两个按钮的对话框。“return false;”停止链接标记的默认事件。但我需要的功能是,当我单击“是,删除”时,通过选择onclicked锚的href值将我带到其他页面。我尝试了alert($(this.attr('id'));(正如我所想,我可以使用“this.attr('HREF')”)获取HREF值,但它会显示“dialog” 如何使其工作,以便当我单击类名为“confirm_delete”的链接时,它会显示“我

我有


以及下面的javascript。当我点击上面的链接时,它会显示带有两个按钮的对话框。“return false;”停止链接标记的默认事件。但我需要的功能是,当我单击“是,删除”时,通过选择onclicked锚的href值将我带到其他页面。我尝试了alert($(this.attr('id'));(正如我所想,我可以使用“this.attr('HREF')”)获取HREF值,但它会显示“dialog”

如何使其工作,以便当我单击类名为“confirm_delete”的链接时,它会显示“我”对话框,如果我单击“取消”,它会停留在页面上,否则会根据href值将我带到页面

<a href="test.php?id=2" class="confirm_delete">Click to proceed</a>
$(“.confirm_delete”)。单击(函数(){
$(“确实要删除吗?”).appendTo('body');
$(“#对话框”)。对话框({
bgiframe:true,可调整大小:false,高度:140,模态:true,
覆盖:{
背景颜色:'#000',不透明度:0.5
},
按钮:{
“是,删除回收站中的所有项目”:函数(){
$(this.dialog('close');
$(this.remove();
警报($(this.attr('id'));
},
取消:函数(){
$(this.dialog('close');
$(this.remove();
}
}
});
返回false;
});

谢谢。

首先:不要在类名中使用下划线。我在某个地方读到过他们可能会引起问题

嗯,这里:

$(".confirm_delete").click(function(){
    $('<div id="dialog">Are you sure you want to delete?</div>').appendTo('body');
    $("#dialog").dialog({
        bgiframe: true, resizable: false, height:140, modal: true,
        overlay: {
            backgroundColor: '#000', opacity: 0.5
        },
        buttons: {
            'Yes, Delete all items in recycle bin': function() {
                $(this).dialog('close');
                $(this).remove();
                alert($(this).attr('id'));
            },
            Cancel: function() {
                $(this).dialog('close');
                $(this).remove();
            }
        }
    });
    return false;
    });
这里我使用了javascript确认对话框。您可以用jquery模式对话框轻松地替换它


jrh

好的,我可以检索HREF的值 按var url=$(this.attr('href')就在$(“.confirm_delete”)之后。单击(函数(){ 它给了我“test.php?id=123”,剩下的就是创建/检索完整的url并重定向到那个url


谢谢

这应该可以做到:

$('a.confirm-delete').click( function(event) {
    if( !confirm('are you sure you want to go?') ) return false;
});

我不知道下划线是什么,但是如果你使用点,你应该在jquery选择器中放一个反斜杠。class=“confirm.delete”=>$('.confirm\.delete')试试这个解决方案:我成功地使用了它。
$(".confirm_delete").click(function(){
       var $delete = $(this);
       ...
        $("#dialog").dialog({
                ...
                buttons: {
                        'Yes, Delete all items in recycle bin': function() {
                                $(this).dialog('close');
                                $(this).remove();
                                alert($delete.attr('id'));
                        }
                }
        });
        return false;
});