JQuery каждая строка в textarea

HTML

<textarea id="gps" name="gps"></textarea>
<button>Click</button>

JQuery

$('button').click(function(){
    var arrayOfLines = $('#gps').val().split('\n');
    $.each(arrayOfLines, function(index, item) {
        $this = $(this);
        console.log($this);         
    });
});

Я пытаюсь вывести каждую строку индивидуально, чтобы потом использовать их позже, но в данный момент, как кажется, разбивается каждая строка, а затем помещает каждую букву в качестве объекта

JSBin

Ответ 1

Вы помещаете строку в объект jQuery. Вместо этого используйте item:

$('button').click(function(){
    var arrayOfLines = $('#gps').val().split('\n');
    $.each(arrayOfLines, function(index, item) {
        console.log(item);
    });
});

Ответ 2

Внутри .each строка id объекта 'item', а не 'this'.

<textarea id="gps" name="gps"></textarea>
  <button id="btn">Click</button>
  $('#btn').click(function(){
      var arrayOfLines = $('#gps').val().split('\n');
      $.each(arrayOfLines, function(index, item) {
          console.log('here is line:', item);         
      });
  });

Ответ 3

Вы не имеете дело с "this" правильно. Попробуйте следующее:

$('button').click(function(){
  var arrayOfLines = $('#gps').val().split('\n');
  $.each(arrayOfLines, function(index, item) {
    console.log(this);
  });
});

Обратите внимание, что переменная "this" во внутренней функции начинается с новой строки, я полагаю. Но это должно привести вас к правильному пути.

Ответ 4

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

 <textarea id="gps" name="gps"></textarea>
<button id="btn">Click</button>
$('#btn').click(function(){
    var arrayOfLines = $('#gps').val().split('\n');
    $.each(arrayOfLines, function(index, item) {
        $this = $(this);
        console.log($this);         
    });
});