Javascript - 如果锚点也有名称属性,则 getElementById 失败

发布于 2024-08-01 22:24:03 字数 163 浏览 8 评论 0原文

我遇到了奇怪的失败。 看来,如果我在锚元素上同时具有 ID 和 NAME 属性,则 document.getElementById 会失败。 如果我删除 NAME,它就会起作用。 我在 Firefox 3.5(最新)中看到了这一点,但尚未检查其他浏览器。

这是一个错误还是故意的?

I'm running into an odd failure. It seems that if I have both an ID and NAME attribute on an anchor element, document.getElementById fails. If I remove the NAME, it works. I'm seeing this in Firefox 3.5(latest) but haven't checked other browsers yet.

Is this a bug or intentional?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七七 2024-08-08 22:24:03

我从来没有听说过这样的错误,所以我尝试重现它但失败了。 这表明您误诊了问题,或者至少没有提供足够的信息。

我用 Firefox 3.5 和以下代码进行了测试。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<title>Test of getElementById with named anchors</title>
<h1>Test of getElementById with named anchors</h1>

<h2><a name="one" id="one">First section</a></h2>
<p>The quick brown fox</p>

<h2><a name="two" id="second">Second section</a></h2>
<p>The quick brown fox</p>

<script type="text/javascript">    
if (document.getElementById('one')) {
        document.write("<p>First section found - id matches name<\/p>");
}

if (document.getElementById('second')) {
        document.write("<p>Second section found - id does not match name<\/p>");
}
</script>

I've never heard of such a bug, so I attempted to reproduce it and failed. This suggests that you have misdiagnosed the problem, or at least haven't provided enough information about it.

I tested with Firefox 3.5 and the following code.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<title>Test of getElementById with named anchors</title>
<h1>Test of getElementById with named anchors</h1>

<h2><a name="one" id="one">First section</a></h2>
<p>The quick brown fox</p>

<h2><a name="two" id="second">Second section</a></h2>
<p>The quick brown fox</p>

<script type="text/javascript">    
if (document.getElementById('one')) {
        document.write("<p>First section found - id matches name<\/p>");
}

if (document.getElementById('second')) {
        document.write("<p>Second section found - id does not match name<\/p>");
}
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文