Javascript 浏览器兼容性问题-不适用于IE

Javascript 浏览器兼容性问题-不适用于IE,javascript,jquery,Javascript,Jquery,我的工作在Firefox和GoogleChrome上运行良好,但在IE上不起作用。你能指出我哪里弄错了吗 Scripts.js $(document).ready(function () { $('.delete').click(function () { var contentId = $(this).attr('contentid'); $.confirm({ 'title': 'Delete Confirmation',

我的工作在Firefox和GoogleChrome上运行良好,但在IE上不起作用。你能指出我哪里弄错了吗

Scripts.js

$(document).ready(function () {
    $('.delete').click(function () {
        var contentId = $(this).attr('contentid');
        $.confirm({
            'title': 'Delete Confirmation',
            'message': 'Are you sure you want to delete this record?',
            'buttons': {
                'Yes': {
                    'class': 'blue',
                    'action': function () {
                        DoDelete(contentId);
                    }
                },
                'No': {
                    'class': 'orange',
                    'action': function () {}
                    // Nothing to do in this case. You can as well omit the action property.
                },
                'close': {
                    'action': function () {}
                    // Nothing to do in this case. You can as well omit the action property.
                }
            }
        });
    });
});
confirmscript生成HTML标记

(function ($) {
    $.confirm = function (params) {
        if ($('#confirmOverlay').length) {
            return false;
        }
        var buttonHTML = '';
        $.each(params.buttons, function (name, obj) {
            buttonHTML += '<a href="#" class="button ' + obj['class'] + '">' + name + '<span></span></a>';
            if (!obj.action) {
                obj.action = function () {};
            }
        });
        var markup = [
            '<div id="confirmOverlay">',
            '<div id="confirmBox">',
            '<div id="header">',
            '<div id ="title">',
            params.title,
            '</div></div>',
            '<div id ="textbox">',
            '<p>',
            params.message,
            '</p></div>',
            '<div id="confirmButtons">',
            buttonHTML,
            '</div></div></div>'
        ].join('');
        $(markup).hide().appendTo('body').fadeIn();
        var buttons = $('#confirmBox .button'),
            i = 0;
        $.each(params.buttons, function (name, obj) {
            buttons.eq(i++).click(function () {
                obj.action();
                $.confirm.hide();
                return false;
            });
        });
    }
    $.confirm.hide = function () {
        $('#confirmOverlay').fadeOut(function () {
            $(this).remove();
        });
    }
})(jQuery);
(函数($){
$.confirm=函数(参数){
if($('confirmOverlay')。长度){
返回false;
}
var buttonHTML='';
$.each(参数按钮、函数(名称、对象){
按钮HTML+='';
如果(!目标动作){
obj.action=函数(){};
}
});
变量标记=[
'',
'',
'',
'',
副总统职务,
'',
'',
“”,
参数消息,
“

”, '', 钮扣, '' ].加入(“”); $(标记).hide().appendTo('body').fadeIn(); 变量按钮=$(“#confirbox.button”), i=0; $.each(参数按钮、函数(名称、对象){ 按钮。eq(i++)。单击(函数(){ obj.action(); $.confirm.hide(); 返回false; }); }); } $.confirm.hide=函数(){ $('confirmOverlay')。淡出(函数(){ $(this.remove(); }); } })(jQuery);
首先,您的
$('.delete')
处理程序的第一行是:

var contentId = $(this).attr('contentid');
但是
.delete
的标记是:

<div class="delete"></div>
你可以这样做:

$('#confirmBox .button').each(function(button) {
    $(button).click(function () {
        params.buttons[$(this).text()].action();
        $.confirm.hide();
        return false;
    });
});

什么不起作用?它应该怎么工作?到目前为止你都在做些什么?@user,专注于什么。我们需要知道代码应该做什么,这是确认对话框,当我点击一个div,script.js被执行,并将标题和消息参数发送到确认脚本,该脚本将生成HTML标记。我对糟糕的通信深表歉意-----------------我的HTML--------------------一个jQuery确认对话框替换为CSS3 | Tutorialzine演示感谢您的指导该脚本在firefox和chrome上运行良好,我能够查看标记和确认对话框,但在IE上不起作用我使用了JSFIDLE,我添加了;尽管如此,我还是忽略了它在IE上不起作用,也没有收到任何警告,但我确实修复了它,我所做的只是将确认按钮div放在文本框div中,然后我开始在IE上工作。。。所以我还是有点困惑,我会在我的系统崩溃时将更新后的代码发布到Tom上
$('#confirmBox .button').each(function(button) {
    $(button).click(function () {
        params.buttons[$(this).text()].action();
        $.confirm.hide();
        return false;
    });
});