Ссылки в строках не работают в Chrome или Firefox - PullRequest
0 голосов
/ 31 марта 2011

У меня есть приложение asp.net, которое извлекает данные из базы данных и помещает их в таблицу.Я установил его так, чтобы, если пользователь щелкнул в любом месте строки, ссылка работала.В основном код выглядит следующим образом:

          <a href="showthisjob.aspx<tr>
          <td align="left">stuff</td>
          <td align="left">stuff</td>
          <td align="left">stuff</td>
         </tr></a>

Это нормально работает в IE, но в Chrome и Firefox ссылка не работает.Может кто-нибудь сказать мне, почему?Мои студенты должны исправить это на конкурсе веб-дизайна.

Ответы [ 2 ]

1 голос
/ 31 марта 2011

По стандартам HTML, <tr> не является допустимым дочерним элементом тега <a>, тег <a> может содержать только другие встроенные элементы (например, <span>, но исключая другой *).Тег 1005 *) и / или текст.IE в основном просто более прощающий и следует тому, что, по его мнению, вы пытаетесь сделать, а не тому, что вам действительно нужно делать.Вы можете поэкспериментировать, чтобы увидеть, что другие браузеры на самом деле позволят вам загружать в <a> и работать, но если это для конкурса веб-дизайна, я бы не рекомендовал это.

Чтобы получить аналогичную функциональность приследуя стандартам, вам, вероятно, потребуется использовать событие onClick и вложенную таблицу, или, что еще лучше, использовать <div>, если вы можете позволить себе кривую обучения, поскольку это для соревнования.Если нет, то что-то вроде:

<table>
<tr>
    <td onClick="location.href='showthisjob.aspx'">
        <table>
            <tr>
                <td align="left">stuff</td>
                <td align="left">stuff</td>
                <td align="left">stuff</td>
            </tr>
        </table>
    </td>
</tr>
....
</table>
0 голосов
/ 31 марта 2011

Ну, во-первых, я надеюсь, что этой опечатки нет в вашем коде: вы пропустили закрывающий > для тега <a>.

<a href="showthisjob.aspx><tr>
   <td align="left">stuff</td>
   <td align="left">stuff</td>
   <td align="left">stuff</td>
</tr></a>

Но на самом деле вы не можете связать таблицыкак это.Я предполагаю, что это связано с браузером, и тот факт, что IE обычно работает не так, как другие браузеры, с точки зрения стандартов HTML.Я не думаю, что вы можете вкладывать <tr> в <a>, но скажите это Microsoft ...

Я предлагаю поместить <a> внутри каждого <td>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...