選択した要素と同じクラスを持つすべての要素を取得するためのシンプルでクリーンな方法を検索します。
そのようなもの(動作していません)
var myElement = $("#elementId");
var listSameClass = $.hasClass(myElement.attr("class"));
選択した要素と同じクラスを持つすべての要素を取得するためのシンプルでクリーンな方法を検索します。
そのようなもの(動作していません)
var myElement = $("#elementId");
var listSameClass = $.hasClass(myElement.attr("class"));
はい、これは非常に簡単です。
var myElement = $("#elementId");
var classes = myElement.prop('class').split(/\s+/);
var classSelector = '.' + classes.join('.');
var otherElements = $(classSelector);
デモ: http://jsfiddle.net/mattball/58uQh
小さくない?読めないワンライナーにしましょう!
var myElement = $("#elementId");
var otherElements = $('.' + myElement.prop('class').replace(/\s+/g, '.'));
私が正しく理解していれば、私はお勧めします:
var currentClass = this.className,
allWithClass = $('.' + className);
ただし、これは単一のクラスが存在することを前提としています。
複数のクラスを持つ要素の場合:
var classes = this.className.split(/\s+/).join('.'),
allWithClass = $('.' + classes);
どういうわけか、最初に要素を選択していることに気づきませんでした。そのid
ような状況では、修正すると本質的に私の答えが重複するため、マットの答えを使用することをお勧めします。おっとっと。
var myElClass = $(this).attr('クラス');
var $myEls = $(myEl).find(myElClass);