2015-04-15 5 views
-1

я в настоящее время есть класс CSS под названием widget_remove_friendsWidget, но и CSS класс widget_remove_profileWidgetПолучите часть класса css с помощью jQuery?

Теперь я пытаюсь получить имя виджета из класса CSS с помощью JQuery, так, например:

Когда у меня есть CSS класс widget_remove_friendsWidget, я не хочу, чтобы получить полный класс CSS, но только часть после widget_remove_ так, что бы friendsWidget вместо widget_remove_friendsWidget

Как я могу это сделать?

+0

Разделить его на 2 класса 'widget_remove' и' friendsWidget'/'profileWidget' – Jamiec

+0

Имеет ли ваш элемент больше классов или только эти? –

+0

Есть как 5 видов тех – DC20

ответ

4

Попробуйте использовать replace() функцию, чтобы избавиться от класса префикса:

var className = $('.widget_remove_profileWidget').attr('class').replace('widget_remove_', ''); 

В случае, если есть более одного класса в одном элементе:

$(document).on('click', '#click', function() { 
 
    var that = $(this); 
 
    var classArr = that.attr('class').split(' '); 
 
    var target = $('#className'); 
 
    for (i in classArr) { 
 
    var item = classArr[i]; 
 
    if (item.indexOf('prefix_') != -1) { 
 
     var name = item.replace('prefix_', ''); 
 
    } 
 
    } 
 
    target.html(name); 
 
})
#click { 
 
    cursor: pointer; 
 
} 
 
#className { 
 
    width: 150px; 
 
    height: 30px; 
 
    display: inline-block; 
 
    line-height: 30px; 
 
    border: 1px solid #d8d8d8; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<span id="click" class="prefix_nameOne anotherClass">click</span> 
 
<span id="className"></span>

+0

Да, это действительно решило проблему, большое спасибо! – DC20

0

попробовать thid выберет все значения класса элемента, содержащие friendsWidget

$('[class~=friendsWidget]') 
+0

Нет, я не думаю, что это хорошая идея, потому что у меня также есть классы, такие как widget_profileWidget_header и т. Д., Но я уже решил это, используя ответ @kapantzak – DC20

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