Как получить текст внутри объектов массива? - PullRequest
2 голосов
/ 19 января 2011

У меня есть массив этого формата:

points.push(
{text: '<span style="font-weight: bold;font-size:25px;">hi</span>'},
{text: '<span style="font-weight: bold;font-size:25px;">hello</span>'},
{text: '<span style="font-weight: bold;font-size:25px;">call</span>'},
{text: '<span style="font-weight: bold;font-size:25px;">crow</span>'});

, когда я использую alert(points[1]);, я получаю [object object], очевидно, потому что вокруг него есть некоторый HTML-код ...

canКто-нибудь сказать мне, как получить текст внутри этого массива.мне нужен вывод только "привет" или "привет" или "звонок" или "ворона"

Спасибо.

Ответы [ 2 ]

1 голос
/ 19 января 2011

правильный синтаксис будет points[1].text

Это не потому, что есть HTML-код, JavaScript не смотрит на содержимое.Для каждого отправляемого элемента вы используете литерал объекта javascript { property : "value" }, означающий для каждого выдвинутого вами объекта.Вы должны ссылаться на созданное вами свойство, присваивая ему значение в точечной записи object.property.если вы не хотите использовать json, измените оператор push следующим образом.

points.push(
'<span style="font-weight: bold;font-size:25px;">hi</span>',
'<span style="font-weight: bold;font-size:25px;">hello</span>',
'<span style="font-weight: bold;font-size:25px;">call</span>',
'<span style="font-weight: bold;font-size:25px;">crow</span>');

Если вы используете этот тип синтаксиса (без json {}), у вас просто будет массив строк, которые вы могли быссылка, как вы изначально предполагали.

Также следует понимать, что ему не важно, что содержится в этих строковых значениях, он обрабатывает их так же, как и любую другую строку.

0 голосов
/ 19 января 2011

alert(points[1].text) даст вам текст: '<span style="font-weight: bold;font-size:25px;">hi</span>' например. Вы должны будете извлечь соответствующий контент после этого.

...