我有下一个链接:
<a id="HeaderImage1Tab" style="display: block;" onclick="HeaderImage1Tab(this);" href="javascript:void(0)">- Header Image 1</a>
单击此链接调用下一个 js 代码:
function HeaderImage1Tab(link) {
if (link.innerText == "+ Header Image 1") {
document.getElementById("HeaderImage1Table").style.display = 'block';
link.innerText = "- Header Image 1";
} else {
document.getElementById("HeaderImage1Table").style.display = 'none';
link.innerText = "+ Header Image 1";
}
}
基本上它所做的只是在链接下方显示/隐藏表格块。除 Firefox 外,所有浏览器均适用。在 Firefox 中,我需要双击链接以触发代码并查看表格块。奇怪的是,我只需要第一次双击,然后按预期工作。
更新 #1:我正在处理 asp.net 网站。我在同一页面上也有大约 15 个链接,就像我上面提到的那样。
解决了
更新#2:使用textContent
而不是innerText
解决问题。看来火狐不支持inner text
。
更新 #3: 这个JS 解决textContent
了 IE8 和更早版本中的问题:
if (Object.defineProperty && Object.getOwnPropertyDescriptor &&
Object.getOwnPropertyDescriptor(Element.prototype, "textContent") &&
!Object.getOwnPropertyDescriptor(Element.prototype, "textContent").get)
(function() {
var innerText = Object.getOwnPropertyDescriptor(Element.prototype, "innerText");
Object.defineProperty(Element.prototype, "textContent",
{
get : function() {
return innerText.get.call(this)
},
set : function(x) {
return innerText.set.call(this, x)
}
}
);
})();