我搜索了一种简单/干净的方法来获取与所选元素具有相同类的每个元素。
类似的东西(不工作)
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('class');
var $myEls = $(myEl).find(myElClass);