jQuery извлекает, хранит и использует класс дочерних элементов из массива

#javascript #jquery #arrays #class

#javascript #jquery #массивы #класс

Вопрос:

С помощью jQuery дочерние элементы #parent элемента должны быть извлечены с помощью class .west , и здесь требуется извлекать не содержимое, а класс дочернего элемента с помощью class .west

Пример

 <div id="parent">
  <div class="child1 west"></div>
  <div class="child2 west"></div>
  <div class="child3 west"></div>
  <div class="child4 west"></div>
  <div class="child5 west"></div>
  <div class="child6"></div>
  <div class="child7"></div>
  <div class="child8"></div>
  <div class="child9"></div>
</div>
  

результатом будет:

дочерние элементы 1, 2, 3, 4, 5 и далее они должны использоваться, например, css дочернего элемента 1 должен быть изменен с помощью jQuery.

Я действительно не знаю, как использовать массивы в jQuery. Спасибо

Комментарии:

1. что-то вроде jsfiddle.net/FVDgD

2. @3nigma На самом деле хорошая попытка, но я хочу, чтобы child1, child2 … child5 были классом, а не текстом, который в дальнейшем использовался бы для настройки.

3. Непонятно, чего вы хотите, вы говорите, что результатом будет child1, child2, child3, … но затем вы говорите, что хотите использовать их как класс, а не текст , в другом месте вы говорите о массиве, …

Ответ №1:

Если вам нужны классы элементов в массиве, вы можете использовать map , например так:

 var classArr = $('#parent > .west').map(function(){
    return this.className.match(/bchilddb/)[0];
}).get();
  

Регулярное выражение соответствует любому слову, начинающемуся с child , плюс одной цифре. Изменение класса может быть выполнено с помощью attr функции:

 $('#parent > .west').attr('class', function(index, value){
    var currentClass = value.match(/bchilddb/)[0];
    return this.className.replace(currentClass, currentClass.replace(/d/, '10'));
});
  

Пожалуйста, внимательно ознакомьтесь с документацией и поиграйте с кодом, чтобы получить представление о том, как работают эти фрагменты кода.

Комментарии:

1. Я не понимаю, как использовать вторую часть.. Это просто непонятно. Все, что я хочу сделать, это извлечь класс, а после этого получить background-image из css этого класса. В дальнейшем используйте этот background-image URL.