如何使用jquery获取分配了多个类名的html元素的类名属性之一

时间:2013-03-20 15:28:04

标签: javascript jquery html frontend

例如:

<div class="home current">home</div>

当我使用$(this).attr("class")时,它只返回“home current”。 我想只获得“home”属性。我怎样才能做到这一点?

5 个答案:

答案 0 :(得分:2)

如果您知道班级名称并想要检查某个元素是否包含该名称,则可以使用.hasClass()

// will return true if the element has that class applied to it
$(elem).hasClass('home'); 

另一方面,如果您希望每个类分别应用于一个元素,您可以按空格分割并迭代:

var classes = $(elem).attr('class').split(' ');
for(var i=0; i<classes.length; i++) {
   classes[i]; // each class name
}

答案 1 :(得分:1)

class属性返回分配给元素的css类的空间分隔列表,要将其转换为数组,请使用字符串上的split方法,并检索第一个,使用[0]索引器,如:

 var firstClass = $(this).attr('class').split(' ')[0]

答案 2 :(得分:0)

var allClass= $(this).attr("class");
var class = allClass.replace("current", "");

如果您只将“当前”作为附加类

,这将有效

答案 3 :(得分:0)

是否有特定原因需要提取班级列表。如果你知道你正在寻找的课程,只需要检查对象是否有班级,你可以这样做:

$(this).hasClass("home");

否则,您可以拆分结果并检查您需要的任何课程。

var classAttr = $(this).attr("class");
var classes = classAttr.split(" "); 

答案 4 :(得分:0)

您似乎需要元素的主要类。

var primaryClass= $(this).attr('class').split(' ')[0].

请记住,如果没有应用任何课程,此行可能会导致异常,而您使用它时可能会导致异常。