Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6812629
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T20:28:18+00:00 2026-05-26T20:28:18+00:00

Why is the following code NOT working without id or name attribute specified for

  • 0

Why is the following code NOT working without id or name attribute specified for the anchor element?

<html>
<body>
<a href="#">First link</a>
<p>innerHTML of the first anchor: 

<script>document.write(document.anchors[0].innerHTML);</script>

</p>
</body>
</html>

But if I add an id (or name) attribute, like that:

<a id="first" href="#">First link</a>

It starts to work.

Why is id or name attribute so important? I don’t refer to it in my javascript code. I don’t use “getElementById” or anything, but it still wants an id to be specified.

P.S. I tested only in IE7 (not the best browser, but I don’t have access to anything better at the moment, and it can’t stop me from learning 🙂

UPDATE:

Thanks to Raynos who gave me an idea of HTMLCollection in his answer, I’ve gotten a deeper understanding of what’s going on here, by searching the web.

When we use document.anchors collection, we’re actually referring to a collection of a elements with the name attribute that makes an a element behave as an anchor, and not (only) as a link.

We don’t have to specify the name attribute if we want to refer to a elements as links. In this case we just need to use a different instance of HTMLCollection object which is document.links.

So the original code will work without name attribute if we modify it to:

document.write(document.links[0].innerHTML);

What a nice feeling of enlightenment! 🙂

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T20:28:18+00:00Added an answer on May 26, 2026 at 8:28 pm

    WHATWG says:

    The anchors attribute must return an HTMLCollection rooted at the Document node, whose filter matches only a elements with name attributes.

    the document.anchors collection needs <a> elements with a name attribute.

    IE is known to have bugs where it treats id’s and name’s as the “same” thing. So that would probably explain why it works for <a> elements with an id attribute.

    As an aside, document.write and .innerHTML are evil.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Why is the following code not working? if(EventLog.Exists(Foo)) { EventLog.Delete(Foo); } if(EventLog.Exists(Foo) == false)
can anybody tell me why is the following code not working? <script type=text/javascript src=../../Scripts/jquery.js></script>
i am using python 2.5.2 . The following code not working. def findValue(self, text,
Any idea why the following code is not working mysql credentials are correct, have
Why is the following code (in cocoa) not working? NSString *extension = [fileName pathExtension];
I'm trying the following code to execute a search and it's not working. On
I have the following Clojure code and I'm not sure why it's not working:
I have the follwing code (which is not working): private void Window_PreviewKeyDown(object sender, KeyEventArgs
Why does the following code not work as I was expecting? <?php $data =
Why does the following code NOT give an error, nor any type of a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.