1

表示できる次の HTML がありますが、一度に 1 つしか表示されません。

<a id="menuRange" class="button" href="#">1 - 100</a>
<a id="menuRange" class="button" href="#">101 - 200</a>
<a id="menuRange" class="button" href="#">201 - 300</a>

そして、このコードを使用して範囲を取得しました:

var $field = $('#menuRange');
var nums = $field.text().split('-').map(function (a) {
    return parseInt(a, 10) + d * 100
});

ここで、HTML を次のように変更します。

<a id="menuRange" class="button" href="#">Lines 1 - 100</a>
<a id="menuRange" class="button" href="#">Lines 101 - 200</a>
<a id="menuRange" class="button" href="#">Lines 201 - 300</a>

以前のようにnumsデータを取得するにはどうすればよいですか。つまり、「Lines」という単語が存在しないかのように無視するにはどうすればよいでしょうか。

4

2 に答える 2

5

.substring()の後に置くだけ.text()です:

var nums = $field.text().substring(6).split('-')...

つまり、返されたテキストの最初の 6 文字を切り取るだけです。

または、プレフィックスが常に存在するとは限らない場合:

var nums = $field.text().replace(/^Lines /, '').split('-')
于 2012-06-25T11:10:05.097 に答える