Тег таблицы внутри тега привязки

#html

#HTML

Вопрос:

Может ли быть таблица внутри тега?Например:

 <a href="javascript:void(0)" style="display:block">  
  <table>
    <tr>
      <td></td>
    </tr>
  </table>    
</a>
  

Я попробовал предыдущий код. Он отлично работает в Google Chrome, но не работает в Firefox.

Ответ №1:

Проект спецификации допускает это при условии, что вы могли бы поместить таблицу в то место, где вы разместили привязку (у нее есть прозрачная модель содержимого)…

 <div><a …><table></table></a></div>   <!-- Allowed -->
<span><a …><table></table></a></span> <!-- Not allowed -->
  

… но HTML 4 этого не делает (поэтому у вас могут возникнуть проблемы с поддержкой браузера).

Ответ №2:

Да, это допустимый HTML5, но недопустимый HTML 4.01. Следующий фрагмент проходит проверку HTML5:

 <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Test</title>
</head>
<body>
    <a href="#">
        <table></table>
    </a>
</body>
</html>
  

Что касается того, следует ли вам это делать, это другой вопрос. Вероятно, вам не следует.

Комментарии:

1. @saorabh, нет, у меня нет. Как я уже сказал, это допустимый HTML5 (который все еще является черновиком), а не то, что я бы рекомендовал вам использовать.

Ответ №3:

Почему вы не можете просто добавить onclick в <table> ?

 <table onclick="window.location='page.html'">
    <tbody valign="top">
        <tr>
            <td>content</td>
        </tr>
    </tbody>
</table>
  

Комментарии:

1. Зависит от JavaScript. Недоступен без указывающего устройства.

2. На самом деле я пишу для почтовых программ, где почтовый сервер отключает javascript.

Ответ №4:

Вы можете использовать <BUTTON> тег и встроить таблицу внутрь него. Чтобы удалить границы кнопки, установите:

 style='border:none; margin:0; padding:0; outline:none;
  

Например:

 <BUTTON type="button" onclick="" style="border:none; margin:0; padding:0;"><table>...</table></BUTTON>