Существует ли способ обнаружить, если тег сам соглашение с JQuery как тег изображения? Что-то динамическое не только тег изображения.
if ($('.selector')[0].tagName.toLowerCase()=="img") {
// do something
}
Вам нужно различать пустой элемент и самозакрывающийся? Если нет, вы можете использовать:
if ($(".selector").is(":empty")) {
// do something
}
Но если вы говорите об определении того, должен ли данный HTML-тег быть пустым или нет, вы не можете сделать это программно, потому что вам не мешают создавать недопустимый HTML, и вам нужно чтобы проверить его на соответствие DTD, чтобы узнать.
Вам нужно немного предыстории. HTML-разметка, передаваемая по проводам, разбирается браузером в дерево DOM. В этот момент исходная разметка исчезает, отслужив свой срок, и больше не существует. Когда вы делаете innerHTML
для элемента, это не буквальный HTML, который породил элемент, а сериализация браузером этого поддерева DOM.
Дело в том, что нет никакой разницы между и
. Поэтому просто посмотрите, есть ли у него дочерние элементы. Если нет, то у элемента есть возможное XHTML-представление, использующее самозакрывающийся тег.
element.children().length == 0
или, как говорит Клетус:
element.is(":empty")
jQuery использует этот список внутри:
/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i
Вы можете сделать то же самое:
if(/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i.test($('.selector')[0].tagName)) {
//do something
}
AFAIK, нет прямого пути с использованием веб-форм (.aspx) в качестве представления. Однако можно использовать другие механизмы просмотра (например, Stringtemplate ) и встраивать страницы и изображения в качестве ресурсов в библиотеку dll . Вам нужно будет реализовать:
Надеюсь, что это имеет смысл...
-121--4435006-jЗапрос использует этот список внутренне:
/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i
Можно сделать то же самое:
if(/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i.test($('.selector')[0].tagName)) {
//do something
}
-121--3286594- Можно проверить метод доступа .html ()
, чтобы проверить, не возвращает ли он пустую последовательность. Несмотря на то, что это возвращает значение true на < p >