парсинг значения в JQuery? - PullRequest
0 голосов
/ 04 июня 2009
var valueAsText = $('#counts span').text();

Я использую этот крошечный скрипт для анализа диапазона, который содержит значение 10, но вместо этого я получил это значение 100000000000

Может кто-нибудь сказать мне, что не так?

и вот код:

<div id="counts"><span>10</span> </div>;

спасибо.

Ответы [ 4 ]

2 голосов
/ 04 июня 2009

Есть ли внутри #count несколько пролетов?

Если это так, вы можете попробовать

$("#counts span:first").text()
1 голос
/ 04 июня 2009

Селектор '#counts span' подберет любые теги <span>, которые являются дочерними элементами к #counts (или дочерними элементами его дочерних элементов и т. Д.), Поэтому я предполагаю, что вы случайно выбираете больше узлов, чем предполагали схватить.

Трудно сказать, как правильно изменить ваш XPATH-запрос, не видя источника страницы.

0 голосов
/ 04 июня 2009

Вы можете использовать

$('#counts span').html();

и он вернет innerHtml только из первого совпадения. Самое простое решение - добавить идентификатор в диапазон, чтобы убедиться, что вы получите именно то, что хотите.

$('#span-id').text();

или

$('#span-id').html();

Они оба должны возвращать одно и то же значение в этой точке.

0 голосов
/ 04 июня 2009

Попробуйте использовать его как число:

var valueAsInt = parseInt($('#counts span').text());

Если это работает, вы можете добавить преобразовать его в строку, добавив пустую строку в конце выражений.

Если это не сработает, у вас есть несколько способов отладить это. Попробуйте:

alert($('#counts span').text());

Если это возвращает 10, проблема в синтаксическом анализе. Если это возвращает 10000, тогда элемент содержит значение, отличное от того, что вы думаете, поэтому вы можете попробовать:

alert($('#counts span').parent().html());

и убедитесь, что HTML действительно содержит 10 внутри <span>.

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