如何隐藏<a href>标记

How to hide an <a href> tag in InnerHTML

本文关键字:href gt 标记 何隐藏 lt 隐藏      更新时间:2023-09-26

我有一个图像,它在.cs文件中定义了"a href"标记的InnerHTML,如下所示。

_divToolTipContainer.InnerHtml = "<a href='"javascript:__doPostBack('" + btnItemThumbnail.ClientID.Replace("_", "$") + "','')'">" +
                                           itemimage;

现在,如果文本框为空,我想要的是将此"a href"标记"隐藏"或"设置为可见为false",否则可以单击。

我的代码如下所示,但不起作用。

    var oDivA1 = document.getElementById(oElementId);
    if(val === undefined || val == null || val.length <= 0){        
        oDivA1.style.display = "none"; // not working
    }else{
        oDivA1.style.display = "block"; // not working
    }

oDivA1.style.display="none",这将不显示整个div,而仅显示"a href"标记。

这可能吗?

感谢

RJ

使用firstChild属性来获取div的内部元素,假设这是它包含的所有HTML,如示例所示。

var oDivA1 = document.getElementById(oElementId);
var anchor = oDivA1 ? oDivA1.firstChild : null;
if(anchor && (val === undefined || val == null || val.length <= 0)){        
    anchor.style.display = "none";
}else{
    anchor.style.display = "block";
}

防止链接动作

var handler = function(e) { e.preventDefault(); };
if(anchor && (val === undefined || val == null || val.length <= 0)){        
    anchor.addEventListener('click',handler,false);
}else{
    anchor.removeEventListener('click',handler,false);
}

请参阅https://developer.mozilla.org/en-US/docs/DOM/element.addEventListener有关旧浏览器的浏览器兼容性和解决方法的信息。