例如:
<div class="home current">home</div>
当我使用$(this).attr("class")
时,它只返回“home current”。
我想只获得“home”属性。我怎样才能做到这一点?
答案 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].
请记住,如果没有应用任何课程,此行可能会导致异常,而您使用它时可能会导致异常。