Можно определить, является ли HTML-элемент самозакрывающимся или нет? - PullRequest
2 голосов
/ 07 июля 2010

Я начал работать над экспериментальным проектом сегодня вечером. Я понял, что мне нужно определить, является ли группа выбранных узлов самозакрывающейся или нет.

Например, предположим, я запрашиваю dom и получаю эту коллекцию узлов:

<br/><br/><p></p><div></div></br/>

Есть ли свойство элементов, которое может определить, какие из них?

Более того, вместо того, чтобы фильтровать определенные HTML-элементы (о, если бы это были единственные ограничения), предположим, что я анализирую XML-документ, который может содержать произвольно названные теги.

Ответы [ 2 ]

1 голос
/ 07 июля 2010

XML не отличает самозакрывающиеся теги от пустых тегов, поэтому <p /> и <p></p> идентичны для XML.

Некоторые синтаксические анализаторы XML анализируют все такие структуры как <p />, некоторые анализируют их все как <p></p>, а некоторые просто оставляют их такими, какие они есть.

Я бы сказал, что нет надежного способа сделать это - вам придется специально протестировать в своем браузере, посмотреть, что именно возвращается, и если вы можете работать с этим (например, поиск />).

0 голосов
/ 07 июля 2010

Единственное, о чем я могу думать, - это чтобы каждый из этих узлов делал над ними строку и проверял, что последние два символа равны />, но, насколько я знаю, нет предопределенного метода определения, является ли узел сам -замкнут или нет

Я могу ошибаться в tostring, но есть способ просто получить весь узел в виде текста - я знаю, что для этого есть функция jQuery, но я не могу вспомнить, как это сделать в чистом JS.

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