簡體   English   中英

如何從元素中獲取第二個類名?

[英]How to get the second class name from element?

我試圖找出如何檢索類屬性的第二個類名。

例如,具有:

<div class="something fooBar"></div>

如何獲得名為“fooBar”的第二個類?

我知道您可以添加、刪除和檢查特定的類,但我找不到如何將第二個類檢索到變量中的文檔。

您可以像這樣使用split

alert($('#divID').attr('class').split(' ')[1]);

要獲得所有課程,您可以這樣做:

var classes = $('#divID').attr('class').split(' ');

for(var i=0; i<classes.length; i++){
  alert(classes[i]);
}

更多信息:

// alerts "8"
alert($('<div class="something 8"></div>').attr('class').split(' ')[1]);

這是通過引用 div ID 來實現的方法

$(document).ready( function () {
  alert($('#yourDivID').attr('class').split(' ')[1]);
});

split 函數將允許您使用指定的分隔符拆分字符串。 這將返回一個分隔值的數組。 在這種情況下,將返回一個類名數組。

拆分其他字符串方法的參考http://www.javascriptkit.com/javatutors/string4.shtml

您應該查看以下用於訪問類的 jQuery 選擇器和函數

選擇器

http://api.jquery.com/class-selector/選擇指定類的dom元素

http://api.jquery.com/has-selector/選擇具有指定選擇器的dom元素

職能

http://api.jquery.com/addClass/向 jQuery 對象添加類的方法

http://api.jquery.com/removeClass/將類移除到 jQuery 對象的方法

http://api.jquery.com/toggleClass/將類切換為 jQuery 對象的方法

http://api.jquery.com/hasClass/檢查 jQuery 對象是否具有指定類的方法

http://api.jquery.com/attr/檢索 jQuery 對象屬性的方法

編輯: 不錯的備忘單

在此處輸入圖片說明

作為替代方案,使用 data-* html 屬性來跟蹤狀態總是更好的做法,例如 $("div.example").data("active")

您可以獲取 class 屬性的值並在空間上對其進行拆分。

secondClass = element.className.split(' ')[1];

這是不正確的。 如果班級分隔了多個空格並且您獲得了第二個班級,則您將獲得空位。 例子:

<div class="something   fooBar"></div>
var classes = $('div').attr('class').split(' ');
alert('classes: ' + classes + '; length: ' + classes.length );
// classes: something,,,fooBar; 4 

我使用下一個代碼:

/*
 *   el  - element
 *   num - class number
 */
function getNumClass(el, num) {

  var classes = el.split(' ');
  var newclasses = [];
  var ret;

  for (var i = 0; i < classes.length; i++) {

    ret = $.trim(classes[i]);
    if(ret.length > 0) {
      newclasses.length += 1;
      newclasses[newclasses.length-1] = ret;
    }
  }

  if (num > newclasses.length) return false;

  return newclasses[num - 1];
}

你可以使用你的溢出像

alert($('#divID').attr('class').split(' ')[1]);

然后你可以這樣做

 var classes = $('#divID').attr('class').split(' ');

for(var i=0; i<classes.length; i++){
  alert(classes[i]);
}

javascript 拆分字符串

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM