2009-09-15 4 views
1

У меня есть куча входов, как этотКак я могу получить класс элемента с помощью jQuery/javascript?

<input id="someId" type="button" class="SomeClass" onclick="determineClass(this.id, event)" /> 

С JavaScript Я хотел бы получить класс, он отличается для каждого входа.

function determineClass(id, e) { 
    var elementClass = //Somehow get the class here 
} 

Это может быть использование jQuery или просто javascript ... Кто-нибудь знает, как это сделать?

Спасибо, Matt

ответ

6
alert($('#someId').attr('class')); 

Если вход имеет несколько классов, attr('class') возвращает разделенный пробелами список названий класса. Вы можете получить последний следующим образом:

alert($('#someId').attr('class').split(' ').slice(-1)); 

См Attributes/attr

1

[править]

Ах дерьмо ... не то, что ты имел в виду ...

$ ('# идентификатор') атр ('класс').

[/ править]

+0

Он уже использует jQuery. Нет необходимости использовать другую библиотеку. – SolutionYogi

+0

Я действительно неправильно понял, что вопрос не я – SeanJA

+0

Я думал, что он ищет класс объекта javascript ... – SeanJA

1

Вы могли бы использовать:.

$ ('# someId') Attr ('класс')

Но остерегайтесь что если он имеет несколько классов, он вернет строку из всех них, поэтому вам придется использовать indexOf или регулярное выражение для проверки определенного класса в этом случае.

+0

Мог также сместить $ ('# someId') [0] .className. –

+0

... или $ ('# someId: first'). Attr ('class') –

+2

@David Andres - $ ('# someId: first') подразумевает несколько элементов одного идентификатора, большого нет-нет. – karim79

1

Немного проще использовать обычный ола «JavaScript:

function determineClass(id, e) 
{ 
    var elem = document.getElementById(id); 

    if(elem) 
    { 
    alert(elem.className); 
    } 
} 
1

Использование простой ПР» JavaScript, если у вас уже есть переменная/ссылка на элемент, вы можете вытащить класс, используя „element.className“

Таким образом, для элемента «someId» выше:

element = document.getElementById('someId'); 
if(element) elementClass = element.className 

Это становится немного более сложным, если вы несколько классов присваиваются элемент - вы должны были бы разделить WHA t вы находите в свойстве className пространство, чтобы отделить их, но это основы.

Если у вас есть такая возможность, используйте jQuery. Обычно это делает проще.

Смежные вопросы