2013-05-23 4 views
2

Попробуйте это на консоли JavaScript (Chrome или что-то еще) с помощью jQuery.xml parse требуется attr ?! подпирать?

var jo = $("<xml required=\"true\" name=\"lol\"></xml>"); //test xml 
jo.attr("required"); //returns "required" instead of true 
jo.attr("name"); //returns correct "lol" 
jo.prop("required"); //returns undefined 
jo.prop("name"); //returns undefined 

Кто там с рабочим раствором, чтобы получить правильное требуемое значение (true/false) этот XML?

.prop() работает только с html, как <input>.

+0

JQuery HTML-движок не XML-парсер ?! Зачем вам это делать? – Liam

+1

, но я могу использовать его как XML-парсер :). Я хочу сгенерировать html-формулу из xml – Cracker0dks

+0

U может, но это не то, что он предназначен делать .... – Liam

ответ

8

Код jQuery имеет свои собственные мнения об атрибутах и ​​их природе, основываясь на их именах и семантике из мира HTML. Вот почему «требуется» дает вам «обязательный» в качестве значения атрибута.

Вы можете попробовать использовать .getAttribute() непосредственно, хотя его результаты могут быть браузер-зависимых:

jo[0].getAttribute("required"); 

.prop() функция работает только для HTML DOM элементов, поскольку он опирается на браузер, создавая объекты с свойства, отражающие значения атрибутов разобран от источника.

+0

спасибо jo [0] .getAttribute ("required"); работы находят для меня :) – Cracker0dks