jQuery textarea中的每一行

时间:2013-11-08 11:48:25

标签: jquery

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

4 个答案:

答案 0 :(得分:13)

您正在将字符串放入jQuery对象中。只需使用item代替:

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

答案 1 :(得分:1)

在.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);         
      });
  });

答案 2 :(得分:0)

你没有正确处理“这个”。请尝试以下方法:

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

请注意,内部函数中的“this”变量以换行符开头,我相信。但这应该让你走上正轨。

答案 3 :(得分:0)

我认为你不能以这种方式使用html标签,你必须为每个标签指定和ID,然后在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);         
    });
});