Я использую плагин jQuery Xpath для просмотра иерархии HTML-документа. Я не использую селектора по той причине, что мне нужно обрабатывать информацию о серверной структуре, которая сообщает мне Xpath конкретному элементу.Xpath по HTML: разница между источником HTML и DOM-моделью
Теперь я заметил, что DOM не обязательно представляет иерархию HTML-документа и нашел решение этой проблемы здесь: Why does firebug add <tbody> to <table>?. Это означает, что если мой HTML документ делает, например, содержать следующий код:
<table>
<tr>
<td>Hello</td>
</tr>
</table>
Мой DOM будет представлять последний так:
<table>
<tbody>
<tr>
<td>Hello</td>
</tr>
</tbody>
</table>
Мой Xpath запрос
jQuery(document).xpath('//table[1]/tr[1]/td[1]')
делает поэтому больше не дают результата.
Есть ли способ избежать синтетических элементов представления DOM? Или способ настроить Xpath так, чтобы он включал синтетические элементы? Спасибо за любую помощь.
Либо инфраструктура, предоставляющая вам XPaths, является ошибкой, либо у вас есть несоответствие между документом, который рассматривается как XML/XHTML на сервере, и как HTML в браузере. – Alohci
Ну, структура находится на стороне сервера, а также обрабатывает и анализирует исходный код документа. Я пытаюсь расширить структуру таким образом, чтобы она использовала эти расположения путей на стороне клиента. –