Получить внутренний текст и разбить его. Проблемы с Javascript с использованием innerHTML и разбиения

0

Имея следующий простой html-код:

<div id="content">
This is a test
</div>

Я не понимаю, почему все в порядке:

$(function(){
text = 'this is a text';
word = text.split(' ');
alert(word[1])
})

но это не так:

$(function(){
text = $('#content').text();
word = text.split(' ');
alert(word[1])
})

JQuery или собственный javascript, проблема такая же. Я ожидаю предупреждения с одним и тем же словом в обоих случаях, но только в первом. Где моя ошибка?

Вот моя проблема: http://jsfiddle.net/bbtdf/2/

Благодарю!

Теги:
split
innerhtml

4 ответа

0
Лучший ответ

Попробуйте это (вам нужно обрезать текст)

$(function(){
    var text = $.trim($('#content').text()),
    word = text.split(' ');
    alert(word[1])
});

DEMO.

0

У вас есть 3 пробела для отступов в контенте. Текстовая функция возвращает второе пространство в предупреждении для этого случая, поэтому оно отображается пустым.

Удалите отступы/пробелы перед контентом, вы увидите ожидаемый результат.

0

Попробуйте с этим кодом

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<div id="content">
This is a test
</div>

<script>
  $(function(){
     text = $('#content').text();
     word = text.split(' ');
     alert(word[1])
  });
</script>
0

Вам нужно обрезать текст /html, потому что у них будут пробелы до и после содержимого

$(function(){
    var text = $('#content').text(),
        word = $.trim(text).split(' ');
    console.log(word[1])
})

Демо: скрипка

Еще вам нужно написать html как <div id="content">This is a test</div>

  • 0
    Спасибо вам всем! Так что это была моя проблема ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню