2015-01-12 3 views
0

мне нужно получить параметр из JSon страницы, я могу выполнить код на этой странице,Как получить значение от объекта innerHTML?

alert(document.body.innerHTML) 

шоу:

<pre style="word-wrap:break-word;white-space: pre-wrap;">{"token": " ... "}</pre> 

как получить маркер из этого innerHTML объекта?

Его в детском браузере моего приложения cordova, вот почему мне нужно использовать такой плохой способ.

+0

использования JSON.parse. –

+0

@ DanielA.White Сбой, и я не вижу ошибки. – Harkonnen

+0

Научитесь использовать ['методы объекта документа'] (https://developer.mozilla.org/en-US/docs/Web/API/document), а затем используйте [' JSON.parse'] (https: // developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) в тексте JSON, чтобы получить объект javascript, а затем получить доступ как обычно. – Xotic750

ответ

1

Просто используйте JSON.parse с querySelector и innerHTML

var obj = JSON.parse(document.querySelector('p').innerHTML); 

Почему я использую innerHTML есть вопросы, кросс-браузер, когда речь идет о textContent или innerText

+0

Хотя это работает в этом примере, я бы сказал, что это небрежный метод для общего использования, на который я бы не стал полагаться. Лучше было бы собирать значения 'textNode' элемента. ['texcontent'] (https://developer.mozilla.org/en-US/docs/Web/API/Node.textContent) довольно хорошо поддерживается, если вас не беспокоят IE9 и старше. – Xotic750

+0

Один пример получения 'textContent', который также является перекрестным браузером, можно увидеть в этом ответе, где-то здесь, на SO. http://stackoverflow.com/a/16300534/592253 – Xotic750

+0

И это должно было прочитать IE8 и старше wrt 'textContent' – Xotic750

Смежные вопросы