Показать сообщение отдельно
  #9 (permalink)  
Старый 27.05.2023, 19:25
Аватар для Chile
Аспирант
Отправить личное сообщение для Chile Посмотреть профиль Найти все сообщения от Chile
 
Регистрация: 10.02.2016
Сообщений: 45

Сообщение от voraa Посмотреть сообщение
Дело не в сервере - ему без разницы какой код выводить, а в браузере. Как он такой html код воспримет, какое DOM дерево построит, и возможно ли с ним будет работать.

Вот как это будет выглядеть
<body>
<table>
    <tr>
        <input type="radio" id="val1" name="plant" value="1" />
        <label for="val1">
            <td>subfamilia</td>
            <td>number</td>
            <td>taxon</td>
        </label>
    </tr>
    <tr>
        <input type="radio" id="val2" name="plant" value="2" />
        <label for="val2">
            <td>subfamilia</td>
            <td>number</td>
            <td>taxon</td>
        </label>
    </tr>
</table>
</body>

Браузер воспринял это как
<body>
<input type="radio" id="val1" name="plant" value="1">
	<label for="val1">
    </label>
    <input type="radio" id="val2" name="plant" value="2">
    <label for="val1">
    </label>
<table>
<tbody>
    <tr>     
        <td>subfamilia</td>
            <td>number</td>
            <td>taxon</td>     
    </tr>
    <tr>       
        <td>subfamilia</td>
        <td>number</td>
        <td>taxon</td>       
    </tr>
</tbody>
</table>
</body>


А в XHTML 1.1 вообще не было элемента <label>
XHTML вообще уже мертвый язык. Поэтому сейчас можно (нужно) писать на HTML
<input type="radio" id="val1" name="plant" value="1"> без "/" в конце. Браузеры просто игнорируют это слеш.
А вы знаете, действительно, браузер выталкивал это всё из td: и input и label были вне table. Но когда я указал <?php header('Content-type: application/xhtml+xml'); ?>, то у него открылось новое видение и всё выводилось как запланировано

Это наверное костыль, но работает же…)
Ответить с цитированием