2

次のようなセレクターで文字列の一部として使用されると仮定して、文字列「unenable-item」を取得するにはどうすればよいですか。

$('.unenable-item').click(function(){
  alert($(this).val());
});

どうも

4

1 に答える 1

3
$('.unenable-item').click(function(){
  alert($(this).attr("class"));
});

またはより一般的な方法

$('.unenable-item').click(function(){
  alert($('.unenable-item').selector);
});

この場合.unenable-item、取得し、その文字列を操作して、必要な部分文字列を取得する必要があります。

編集:

.selectorプロパティは使用できず$(this)、毎回新しいオブジェクトを作成するため、常に空の文字列を返します。だから私はそれを扱う解決策を見つけます。解決策は、イベントをバインドするための新しい関数を作成し、単純な jquery 関数の代わりにその関数を使用することです。

使用法

jQuery.fn.addEvent = function(type, handler) {
    this.bind(type, {'selector': this.selector}, handler);
};

この後、セレクターを取得するだけです

$('.unenable-item').addEvent('click', function(event) {
        alert(event.data.selector);
});

addEventJqueryのclick関数ですぐにバインドするのではなく、クリックをバインドするメソッドを使用したことに注意してください。

jsfiddle http://jsfiddle.net/DFh7z/21/で例を見ることができます

于 2012-04-10T07:55:50.500 に答える