0

入力

<input type="text" value="" id="row1">
<input type="text" value="" id="row2">

行から最後の文字を取得し、それを javascript 変数に渡す必要があります。これがrow1とrow2で、変数1と2を取得する必要があります

私はこれを使用しようとしますが、動作しません

$('[id^="row"]').each(function (index, row) {
var row = row.id.substring(3);
alert (row);//this is only to check if value exists (alert or not)
});

アラートはまったくありません。ただし、必要: 最初の反復 (.each) では var 行は 1、2 番目では - 2 などです。

これを例として使用しました。例は機能しますが、私のコードは機能しません

$.each([52, 97], function(index, value) {
alert(index + ': ' + value);
});
4

1 に答える 1

1

次の場合、コードは正常に動作します

  1. 実際にある時点でjQueryを含めています(質問では言及していませんが、使用しているようです)

  2. 要素が存在したにコードを実行します。

jQueryを組み込んだコードを次に示します。ここでは、要素が存在するまでコードが実行されないようにしています。ライブソース

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <input type="text" value="" id="row1">
  <input type="text" value="" id="row2">
  <script>
    (function($) {
        $('[id^="row"]').each(function (index, row) {
        var row = row.id.substring(3);
        alert (row);//this is only to check if value exists (alert or not)
        });
    })(jQuery);
  </script>
</body>
</html>

scriptタグが操作対象の要素のにどのように配置されているかに注意してください。そのため、そのスクリプトの実行時にタグが存在します。

これはうまくいきません:

  <script>
    (function($) {
        $('[id^="row"]').each(function (index, row) {
        var row = row.id.substring(3);
        alert (row);//this is only to check if value exists (alert or not)
        });
    })(jQuery);
  </script>
  <input type="text" value="" id="row1">
  <input type="text" value="" id="row2">

...スクリプトが実行されるとき、要素はまだ存在していないためです。

何らかの理由でscript要素の移動先を制御できない場合は、jQuery のready関数を使用して、DOM が読み込まれるまでコードの実行を待つことができます。しかし、タグをどこに置くかを制御する場合は、その必要はありません。scriptタグをドキュメントの最後、終了タグの直前に配置するだけ</body>です。

もっと:

于 2013-05-31T10:03:59.990 に答える