javascript - .removeAttr() 不从选项卡中删除数据切换
问题描述
情况
我正在开发一个有多个选项卡的程序。但是,除非用户保存并返回 ID,否则用户无法转到另一个选项卡。因此,我document.ready
有以下代码应该从选项卡中删除选项卡属性。
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');
}
我在我的 document.ready 中调用了这个函数,所有的警报都显示出来了,这是选项卡的代码。
<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
属性。
如果可以提供任何帮助,将不胜感激。
解决方案
在这里,在第 4 行和第 5 行的 javascript 代码中,您尝试选择 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>
推荐阅读
- python-3.x - 将文本文件转换为字典
- javascript - 我怎样才能使结果一致?SetInterval 无法正常工作
- python - 将函数应用于数据框列?
- c# - 无法向自定义控件添加内容
- unity3d - Unity 改变了我的图像资源。我该如何解决?
- php - Laravel 刀片在尝试允许 HTML 时向数据添加“`{}`”
- javascript - Node.js MongoDB 利用 Promise 进行 MongoDB 方法调用
- sql - 使用 SQL 和 gRPC 时如何使用 Scan 和 Value?
- azure - Azure 数据工厂 - 将数据导出到子容器/blob
- javascript - 在 Javascript 中,ƒ 是什么意思?