jquery元素同一个类

时间:2013-01-07 21:15:56

标签: jquery

我搜索一个简单/干净的方法来获得与所选元素相同的类的每个元素。

类似的东西(不工作)

var myElement = $("#elementId");

var listSameClass = $.hasClass(myElement.attr("class"));

3 个答案:

答案 0 :(得分:4)

是的,这很简单:

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, '.'));

http://jsfiddle.net/mattball/PQ5fX/

答案 1 :(得分:2)

我建议,如果我理解得当:

var currentClass = this.className,
    allWithClass = $('.' + className);

然而,这确实假设存在单个类。

对于具有多个类的元素:

var classes = this.className.split(/\s+/).join('.'),
    allWithClass = $('.' + classes);

不知怎的,我没有意识到你首先通过id选择了一个元素,在那种情况下我会建议你使用Matt的答案,因为任何修正都会使我的答案变成重复。糟糕。

答案 2 :(得分:0)

var myElClass = $(this).attr('class');
var $ myEls = $(myEl).find(myElClass);

http://api.jquery.com/find/