Выбор идентификатора элемента - PullRequest
1 голос
/ 01 ноября 2011

Я пытался понять это в течение 2 дней и не мог иметь никакого смысла.Я использую jquery, чтобы выбрать первый элемент на странице и получить его идентификатор, используя:

$('#main li.twitter').eq(0);

Вывод журнала консоли:

[li class = "Twitter event left"id = "131325521001848832" style = "display: list-item;">… li]

Однако:

var id = parseInt($('#main li.twitter').eq(0).attr('id'));

Выходы

131325521001848830

Не то, что я ожидал!И если я пытаюсь выбрать элемент с этим идентификатором, он возвращает пустой массив, чтобы он даже не существовал. Что я здесь не так делаю?

Ответы [ 2 ]

3 голосов
/ 01 ноября 2011

Числовые идентификаторы действительны в HTML5, и вы можете обойтись без них в предыдущих версиях.Однако число настолько велико, что его нельзя точно представить в представлении с плавающей запятой, которое использует JS.

Ввод числа в консоль

131325521001848832

вывод:

131325521001848830

Так что вам лучше держать его как строку.

1 голос
/ 01 ноября 2011

Метод eq создает объект jQuery, содержащий только элемент в позиции i в текущем наборе jQuery.Поэтому вывод консоли, который вы видите, является представлением объекта jQuery (содержащего элемент DOM).

id - это строковое значение, а не целое число;так что не parseInt это, если вы хотите получить его снова позже.

var id = $('#main li.twitter').eq(0).attr('id');

// $('#' + id);

Кроме того, для дальнейшего использования, вы всегда должны указывать основание при использовании parseInt (pass 10 как второй параметр функции).

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