7

For the <form>, we can use a "name" like <form name="name">.

In the same way, can we add it to <table name="table1">?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
phaneesh
  • 140
  • 1
  • 1
  • 7

5 Answers5

11

name is not an allowed attribute of <table> in HTML5. From the fine specification:

Permitted attributes

global attributes & border

And if you look at the global attributes you won't find name in the list.

So you can't put a name attribute on a <table> and still have valid HTML. id however is a global attribute so you can use that instead of name (if of course your name is going to be unique within the page).

Try running this:

<!DOCTYPE html>
<head><title>t</title></head>
<body>
    <table name="pancakes"></table>
</body>

through http://validator.w3.org and you'll see that it doesn't like a name on <table>.

If you're still writing HTML4, you still can't put a name attribute on a <table>. From the fine specification:

<!ATTLIST TABLE                        -- table element --
  %attrs;                              -- %coreattrs, %i18n, %events --
  summary     %Text;         #IMPLIED  -- purpose/structure for speech output--
  width       %Length;       #IMPLIED  -- table width --
  border      %Pixels;       #IMPLIED  -- controls frame width around table --
  frame       %TFrame;       #IMPLIED  -- which parts of frame to render --
  rules       %TRules;       #IMPLIED  -- rulings between rows and cols --
  cellspacing %Length;       #IMPLIED  -- spacing between cells --
  cellpadding %Length;       #IMPLIED  -- spacing within cells --
  >

There's no name in that list and no name in coreattrs, i18n, or events either.

mu is too short
  • 426,620
  • 70
  • 833
  • 800
  • 1
    @user1061038: Pro-tip: the easiest way to figure out these things to to google for "site:w3.org html5" and the element you're interested in; the "site:w3.org" part is important, including that should lead you straight to the relevant section of the specification. – mu is too short Dec 03 '12 at 05:43
4

name is not allowed to table, instead of the this you can declare it in html5 trend

<table data-name="my_table"></table>

and use it in jquery for instance like that:

$('table [data-name=my_table]');
Waqar Alamgir
  • 9,828
  • 4
  • 30
  • 36
0

No dude, you cannot assign name to the table element.

For the table, you can give an id or a class attribute that refers a particular table in your HTML code and then based on it, you can then make changes to your table via CSS , javascript, jquery etc.

Hope this information helps.. !

skywalker2909
  • 1,636
  • 2
  • 31
  • 46
-3

name is a *standard attribute, and it can be placed on any element.

However, note that accessing elements by name is deprecated in favour of things like id and class. name should be reserved for form elements such as <input>.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Niet the Dark Absol
  • 320,036
  • 81
  • 464
  • 592
  • 1
    No you can't. `