2016-03-09 3 views
1

Я новичок и начинаю изучать html. В моем коде, то ситуация была бы, что, когда я нажимаю на кнопку, я $(event.currentTarget).parents('.page-container') получить весь HTML элемент моего currentTarget, а затем у меня есть все элементы, как показано ниже:Как найти имя конкретного класса в html

<div class="page-container"> 
    <div id="mainContainer" class="container-fluid"> 
    <div class="row row-offcanvas row-offcanvas-left"> 
     <div id="accordionSummaryList" class="sidebar-left col-lg-2 col-md-2 col-sm-2 sidebar-offcanvas"> 
     <div class="mainTenant"> 
      <div class="subTenant"> 
      <h5 data-toggle="collapse" data-parent="#accordionSummaryList" href="#toggleAbleListGroup1">Admins</h5>                  
      <div class="container-fluid panel-collapse collapse in" id="toggleAbleListGroup1"></div> 
      </div> 
     </div> 
     </div> 
     </div> 
    </div> 
</div> 

То, что я хотел бы сделать Я хотел бы найти весь элемент div, который имеет класс = «свернуть в», и я хочу удалить класс «in», чтобы скрыть содержимое внутри этого поля div.

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

+0

Вы хотите, чтобы вы нашли элемент с определенным именем класса с помощью jQuery? – BenM

+0

yes Я хочу найти конкретное имя класса, а затем удалить этот класс, например, я хочу найти class collapse in, а затем удалить класс в – Son

+0

, и одна вещь, которую я хочу задать, - это: возможно ли, что я могу найти конкретную имя класса, которое находится внутри определенного элемента? В моем случае например: класс «свернуть в», расположенный внутри div-класса «subTenant» – Son

ответ

1

в ваниль-JS

[].forEach.call(document.querySelectorAll('.subTenant .collapse.in'), function(el){ 
    el.classList.remove('in'); 
} 

или с JQuery (если он уже включен)

$('.subTenant .collapse.in').removeClass('in'); 
+0

Я полагаю, что разница в производительности не будет заметна для одного использования, так или иначе https://jsperf.com/foreach-vs-array-prototype-foreach – fcalderan

+0

Спасибо для вашего ответа fcalderan !. И одна вещь, которую я хочу задать: возможно ли, что я могу найти определенное имя класса, которое находится внутри определенного элемента? В моем случае, например: класс «свернуть в», расположенный внутри div-класса «subTenant» – Son

+0

да, см. Мое редактирование @Son – fcalderan

1

вы можете сделать это с JQuery

jQuery('.collapse').removeClass('in'); 
+0

, вы можете напрямую использовать jQuery ('. Collapse'). RemoveClass ('in'); –

+0

hasClass проверяет несколько классов в полном html и удаляет все классы «in». –

+0

Но логика, которую вы пишете: IF, если любой элемент 'div' на странице имеет класс' .collapse' THEN, удалите класс '.in' из всех элементов с классом '.collapse'. Здесь избыточно. – A1rPun

1

Если вы хотите сделать это с jquery: $(".collapse.in").removeClass("in")

+0

Спасибо Andrew – Son

+0

@ С уважением – Andrew

+0

А-а, что я хочу спросить: возможно ли, что я могу найти определенное имя класса, которое находится внутри определенного элемента? Например, в моем случае: класс «свернуть», расположенный внутри div-класса «subTenant» – Son

0

Вы также можете сделать это с этим

if($(event.currentTarget).parents('.page-container').find('.collapse')) 
{ 
    $('.collapse').removeClass('in'); 
} 
+0

, и одна вещь, которую я хочу задать, - это: возможно ли, что я могу найти определенное имя класса, которое расположенных внутри определенного элемента? В моем случае например: класс «свернуть в», расположенный внутри div-класса «subTenant» – Son

+0

@Son, да, вы можете найти определенное имя класса с помощью функции .find(), см. Это https://api.jquery.com/find/ –

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