11

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

後で使用できるように各行を個別に出力しようとしていますが、現時点では上記は各行を分割し、各文字をオブジェクトとして配置しているようです

JSビン

4

4 に答える 4

16

文字列を jQuery オブジェクトに配置しています。item代わりに次を使用してください。

$('button').click(() => {
  var arrayOfLines = $('#gps').val().split('\n');
  arrayOfLines.forEach(item => console.log(item));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<textarea id="gps" name="gps">28.73514, -147.42323
4.09974, 66.93197
49.11390, 48.85446</textarea>
<button>Click</button>

于 2013-11-08T11:50:00.260 に答える
0

あなたは「これ」を適切に扱っていません。次のことを試してください。

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

内部関数の「this」変数は改行で始まることに注意してください。しかし、これで正しい軌道に乗るはずです。

于 2013-11-08T11:52:58.407 に答える
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);         
    });
});
于 2013-11-08T11:53:02.347 に答える