如果该属性是由另一个脚本添加的话,如何在页面加载后使用jquery删除元素的属性/类(Smartwizard插件)

时间:2013-10-29 08:48:08

标签: jquery smart-wizard

我正在使用jquery插件(smartwizard)来制作表单向导。插件会自动在表单中显示的所有链接上添加名为“isdone”的属性和名为“done”的类。这有助于插件知道哪些表单步骤已完成。但由于添加了类,它会使表单中的其他链接出现故障。我想从某些链接中删除类和属性。

我有这个链接:

<a href="sample.com" id="file_link">My link</a>

在页面加载后,插件会添加以下属性和类

<a href="sample.com" class="done" isdone="1" id="file_link">My link</a>   

以下是初始化向导的代码片段,以及我尝试过的内容:

jQuery(document).ready(function(){
 jQuery('#wizard').smartWizard({
 selected:1,
 enableAllSteps:false,
 transitionEffect:'slideleft',
 onLeaveStep:leaveAStepCallback,
 onFinish:onFinishCallback,
 onContinueLater:onContinueLaterCallback,
 enableFinishButton:false,
 });
 //
jQuery('#file_link').removeAttr('isdone');//doesn't work
    jQuery('#file_link').live(function(){
    jQuery(this).removeAttr('isdone');//doesn't work also
});
});

关于如何解决这个问题的任何想法?

3 个答案:

答案 0 :(得分:1)

将代码添加到文档就绪函数中。

$(document).ready(function()
{
    setTimeout(function() {
        var myAttr = $('#file_link').attr('isdone');
        if (typeof myAttr !== 'undefined' && myAttr !== false) {
            $('#file_link').removeAttr('isdone');
        }
    }, 250);
});

答案 1 :(得分:0)

试试这个:

jQuery('#file_link').on('load',function(){
jQuery(this).removeAttr('isdone');
});

答案 2 :(得分:0)

在所有脚本之后的页脚部分添加 removeAttr 脚本。