-1

例如:

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

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

4

5 回答 5

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
}
于 2013-03-20T15:30:37.227 回答
1

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

 var firstClass = $(this).attr('class').split(' ')[0]
于 2013-03-20T15:32:00.770 回答
0

是否有特定原因需要拉取课程列表。如果您知道要查找的类并且只需要检查该对象是否具有类主页,则可以执行以下操作:

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

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

var classAttr = $(this).attr("class");
var classes = classAttr.split(" "); 
于 2013-03-20T15:32:34.633 回答
0

看来您需要元素的主要类。

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

请记住,如果没有应用类,则在您使用它时,此行可能会导致异常。

于 2013-03-20T15:33:29.640 回答
0
var allClass= $(this).attr("class");
var class = allClass.replace("current", "");

如果您只有“当前”作为附加类,这将起作用

于 2013-03-20T15:31:53.340 回答