Получить тип данного элемента XML с помощью jQuery? - PullRequest
1 голос
/ 23 июня 2011

Как определить тип заданного элемента XML с помощью jQuery?

Например, если я хочу указать тип второго дочернего элемента:

XML:

<xml>
  <a>a element</a>
  <b>b element</b>
  <c>c element</c>
</xml>

JS:

var node = $(xml).eq(2);
var nodeType = getNodeType(node);
if (nodeType == 'b') {
   alert('GOT IT');
}


function getNodeType($node) {
   ...
} 

1 Ответ

3 голосов
/ 23 июня 2011

Попробуйте использовать nodeName для элемента (не для объекта jQuery).

Пример: http://jsfiddle.net/2cSpq/

var xml = "<xml><a>a element</a><b>b element</b><c>c element</c></xml>";

var node = $(xml).children().eq(1);
var nodeType = alert(getNodeType(node));
if (nodeType == 'b') {
   alert('GOT IT');
}


function getNodeType($node) {
   return $node[0].nodeName.toLowerCase();  <--- right here
} 

Я также использовал children() [документы] метод нацеливания на вложенные элементы, в результате которого элемент b будет иметь индекс 1, а не 2.

[0] извлекает узел из объекта jQuery, .nodeName получает имя узла, а .toLowerCase() гарантирует, что оно будет отправлено вам как строчная буква, для которой вы проверяете.

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