Это не просто обычное имя элемента. Это полное имя, означающее, что это имя, которое конкретно относится к типу элемента в пространстве имен. Имя типа элемента - «lat», а префикс пространства имен - «geo».
В настоящий момент jQuery не очень хорошо справляется с пространствами имен, подробнее см. ошибка 155 .
Прямо сейчас, в качестве обходного пути, вы должны иметь возможность выбрать эти элементы только с локальным именем:
$(this).find("lat").text();
Если вам необходимо различать типы элементов с одинаковым локальным именем, вы можете использовать filter()
:
var NS = "http://example.com/whatever-the-namespace-is-for-geo";
$(this).find("lat").filter(function() { return this.namespaceURI == NS; }).text();
Редактировать: моя ошибка, у меня сложилось впечатление, что патч уже приземлился. Воспользуйтесь предложением Адама для селектора и filter()
, если вам тоже нужно пространство имен:
var NS = "http://example.com/whatever-the-namespace-is-for-geo";
$(this).find("geo\\:lat").filter(function() { return this.namespaceURI == NS; }).text();