如何通过Javascript根据条件禁用超链接
如何根据条件禁用超链接如何通过Javascript根据条件禁用超链接,javascript,html,Javascript,Html,如何根据条件禁用超链接 var mydiv = document.getElementById("myDiv"); var aTag = document.createElement('a'); aTag.setAttribute('href',"yourlink.htm"); aTag.innerHTML = "link text"; mydiv.innerHTML=""; mydiv.innerHTML=aTag;
var mydiv = document.getElementById("myDiv");
var aTag = document.createElement('a');
aTag.setAttribute('href',"yourlink.htm");
aTag.innerHTML = "link text";
mydiv.innerHTML="";
mydiv.innerHTML=aTag;
说我需要在这里禁用我的aTag
根据登录的用户,我需要禁用或启用..您可以通过设置disabled属性来禁用链接(在锚元素上无效,但在某些情况下有效) 锚上禁用属性的测试设置: 最好是,您可以完全删除链接,并将其替换为包含的文本。要用纯文本替换链接,可以将
mydiv
的innerHTML设置为文本(从而删除超链接)
如果链接可以切换到ON/OFF,请考虑注释中建议的@ Oleg V. Volkov的表单元素(不是超链接)。如果这是一个一次性的决定(即,它不会在每页发生多次),我会用文本替换链接
根据登录用户,我需要禁用或启用在这种情况下,我会在服务器上以不同的方式呈现页面,而不是在web浏览器中。您可以通过设置disabled属性来禁用链接(在锚元素上无效,尽管在某些情况下它是有效的) 锚上禁用属性的测试设置: 最好是,您可以完全删除链接,并将其替换为包含的文本。要用纯文本替换链接,可以将
mydiv
的innerHTML设置为文本(从而删除超链接)
如果链接可以切换到ON/OFF,请考虑注释中建议的@ Oleg V. Volkov的表单元素(不是超链接)。如果这是一个一次性的决定(即,它不会在每页发生多次),我会用文本替换链接
根据登录用户,我需要禁用或启用 在这种情况下,我会在服务器上以不同的方式呈现页面,而不是在web浏览器中 if(condition)
disableLink();
else
showLink();
function disableLink()
{
document.getElementById('Link1').disabled=true;
document.getElementById('Link1').removeAttribute('href');
document.getElementById('Link1').style.textDecoration = 'none';
document.getElementById('Link1').style.cursor = 'default';
}
function showLink()
{
document.getElementById('Link1').disabled=false;
//assign href dynamically
document.getElementById('Link1').href = "somepage.html";
document.getElementById("Link1").style.textDecoration = "underline";
document.getElementById("Link1").style.cursor = "hand";
}
这应该行得通
if(condition)
disableLink();
else
showLink();
function disableLink()
{
document.getElementById('Link1').disabled=true;
document.getElementById('Link1').removeAttribute('href');
document.getElementById('Link1').style.textDecoration = 'none';
document.getElementById('Link1').style.cursor = 'default';
}
function showLink()
{
document.getElementById('Link1').disabled=false;
//assign href dynamically
document.getElementById('Link1').href = "somepage.html";
document.getElementById("Link1").style.textDecoration = "underline";
document.getElementById("Link1").style.cursor = "hand";
}
基于什么条件?从UX POV来看,用户几乎不习惯禁用链接,所以我建议不要这样做。如果你需要禁用某个链接,它很可能应该是按钮。基于什么条件?从UX POV来看,用户几乎不习惯禁用链接,所以我建议不要这样做。如果您需要禁用某个功能,它很可能应该是按钮。如果我没有弄错,Link1是超链接的id,对吗?但是在上面显示的示例代码中,我需要禁用aTag链接。我尝试了上面提供的代码,但没有效果。请给出建议。“动态分配href”不是有点含糊吗?当调用removeAttribute时,您将丢失目标URL,那么如何在调用showLink时将其恢复?在擦之前先把它保存起来怎么样?可能有一个比src更好的属性可以使用,但它对我有效:document.getElementById('Link1')。src=document.getElementById('Link1')。href;如果我没有弄错,Link1超链接的id正确吗?但是在上面显示的示例代码中,我需要禁用aTag链接。我尝试了上面提供的代码,但没有效果。请给出建议。“动态分配href”不是有点含糊吗?当调用removeAttribute时,您将丢失目标URL,那么如何在调用showLink时将其恢复?在擦之前先把它保存起来怎么样?可能有一个比src更好的属性可以使用,但它对我有效:document.getElementById('Link1')。src=document.getElementById('Link1')。href;