.removeAttr()无法从标签页中删除数据切换

时间:2019-06-12 01:46:28

标签: javascript jquery

情况

我正在开发一个有多个标签的程序。 但是,除非保存并返回ID,否则用户无法进入其他选项卡。因此,在我的document.ready上,我有以下代码应该从选项卡中除去tab属性。

    function DisableTabs() {
        alert('1');
        if ($("#applicationID").val() == null || $("#applicationID").val().toString().length <= 0 || parseInt($("#applicationID").val()) <= 0) {
            $("#dvAttach").removeAttr('data-toggle', 'tab');
            $("#dvAttach").removeAttr('onclick')
            $("#dvAttach").attr('onclick', 'ValidateTabs();');
            alert('2');
        }
        alert('3');
    }

我正在我的文档中调用此函数。就绪,警报都显示出来,这是选项卡的代码。

<ul class="nav nav-tabs">
    <li class="nav-item">
        <a class="nav-link active" href="#dvInfo" role="tab" data-toggle="tab">Application Information</a>
    </li>
    <li class="nav-item">
        <a class="nav-link" href="#dvAttach" role="tab" data-toggle="tab" onclick="GetFiles()">Attachments</a>
    </li>
</ul>

问题

正如我在标题中提到的那样,即使applicationID没有值,我也可以单击选项卡。当我加载页面并检查选项卡时,仍然看到它具有data-toggle属性。

如果能提供帮助,将不胜感激。

1 个答案:

答案 0 :(得分:1)

在这里,在您的JavaScript代码的第4行和第5行中,您尝试选择ID为dvAttach的元素(使用“ #dvAttach”),但没有ID为dvAttach的元素。将id =“ dvAttach”添加到要删除属性的元素中!

<ul class="nav nav-tabs">
<li class="nav-item">
    <a class="nav-link active" href="#dvInfo" role="tab" data-toggle="tab">Application Information</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#dvAttach" id="dvAttach" role="tab" data-toggle="tab" onclick="GetFiles()">Attachments</a>
</li>
</ul>