0

div名からID桁を取得するにはどうすればよいですか?

たとえば、次の html の場合、123 を取得したいと思います<div id="subscript-guest-id-123"></div>

私が試したこと

$('[id^="subscript-guest-id-"]').click(function(){
        var sid = this.id.slice().replace('/subscript-guest-id-/','');
        alert(sid);
});
4

5 に答える 5

1

次のようにする必要があります。

var sid = this.id.replace('subscript-guest-id-', '');

とはいえ、そのようなデータを ID に格納することが常に最良の選択であるとは限りません。より良いアプローチは、数値をデータ属性に格納することです。

<div class="subscript-guest" data-id="123"></div>

そしてそれにアクセスします:

$('.subscript-guest').click(function(){
    var sid = $(this).data('id');
});

データ属性を使用する利点は、値を取得するために文字列を解析する必要がないことです。

于 2013-06-12T08:59:55.997 に答える
0

とにかくjQueryを使用しているので:

$(this).attr('id').replace('subscript-guest-id-', '');
于 2013-06-12T09:00:17.167 に答える
0

これを試してくださいsubstring()

 $('[id^="subscript-guest-id-"]').click(function(){
            var sid = $(this).attr('id').substring(19);
            alert(sid);
    });

デモ

于 2013-06-12T09:00:57.353 に答える
0

正規表現を使用して番号を見つけることができます。

$(this).attr("id").match(/\d+/)

別の例: DEMO

于 2013-06-12T09:01:37.843 に答える
0

もっとよくなるはず:

http://jsfiddle.net/H6ZUg/

$('[id^="subscript-guest-id-"]').click(function(){
        var sid = this.id.split('-').pop();
        alert(sid);
});
于 2013-06-12T09:01:44.013 に答える