例如多個類名稱的HTML元素的類名稱的屬性之一:如何使用jQuery獲得具有分配
<div class="home current">home</div>
當我使用$(this).attr("class")
,它只是返回「家當前」。 我只想得到「家」屬性。我怎樣才能做到這一點?
例如多個類名稱的HTML元素的類名稱的屬性之一:如何使用jQuery獲得具有分配
<div class="home current">home</div>
當我使用$(this).attr("class")
,它只是返回「家當前」。 我只想得到「家」屬性。我怎樣才能做到這一點?
如果你知道類的名稱和要檢查元素是否有它,你可以使用.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
}
var allClass= $(this).attr("class");
var class = allClass.replace("current", "");
這將工作,如果你只有「當前」作爲一個附加的類
class
屬性返回分配給元素的css類的空格分隔列表,要將其轉換爲數組,請在字符串上使用split
方法,並檢索第一個使用[0]索引器,如下所示:
var firstClass = $(this).attr('class').split(' ')[0]
是否有一個特定的原因,您需要拉班級列表。如果你知道你正在尋找類,只是需要檢查的對象具有類的家,你可以這樣做:
$(this).hasClass("home");
否則,你可能只是拆分結果,並檢查是否有您需要的任何類。
var classAttr = $(this).attr("class");
var classes = classAttr.split(" ");
看來你需要元素的主類。
var primaryClass= $(this).attr('class').split(' ')[0].
記住這行可能會導致異常,如果沒有類應用,而你使用它的時間。
你的問題不清楚。您是否想要確定div是否具有「家庭」類,或者您是否想要在類列表中列出第一類? – kinakuta 2013-03-20 15:29:59
可能的重複:[jQuery - 僅從一個元素獲得第一個類](http://stackoverflow.com/q/3203966/1456376) – insertusernamehere 2013-03-20 15:31:18