Как получить все значения из элемента с помощью Jquery и поместить его в массив? - PullRequest
0 голосов
/ 12 июля 2019

Итак, я получил HTML-код, похожий на этот

<a href="1" class="link">
 <div class="div1">
  <div class="A"></div>
 </div>
</a>
<a href="2" class="link">
 <div class="div1">
  <div></div>
 </div>
</a>
<a href="3" class="link">
 <div class="div1">
  <div class="C"></div>
 </div>
</a>

, и я хочу получить второй тег div и поместить его в массив, чтобы он стал таким

arr = [A,0,C]

Ответы [ 4 ]

0 голосов
/ 12 июля 2019

Oneliner

let arr = [...document.querySelectorAll(".link>.div1>div")].map(div => div.className || "0")

console.log(arr)
<a href="1" class="link">
  <div class="div1">
    <div class="A"></div>
  </div>
</a>
<a href="2" class="link">
  <div class="div1">
    <div></div>
  </div>
</a>
<a href="3" class="link">
  <div class="div1">
    <div class="C"></div>
  </div>
</a>
0 голосов
/ 12 июля 2019

Вы можете попробовать с jQuery .map() и .get()

var arr = $('.div1 > div').map(function(){
  return $(this).attr('class') == undefined? 0 : $(this).attr('class');
}).get();

console.log(arr);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="1" class="link">
 <div class="div1">
  <div class="A"></div>
 </div>
</a>
<a href="2" class="link">
 <div class="div1">
  <div></div>
 </div>
</a>
<a href="3" class="link">
 <div class="div1">
  <div class="C"></div>
 </div>
</a>
0 голосов
/ 12 июля 2019
 var arr = [];
 $('.div1').each(function(i, obj) {
     var value = $(this).find('div').attr("class");
     if (typeof value === "undefined") {
            value = 0;
     } 
     arr.push(value); 
});

  alert(JSON.stringify(arr));

Добавлено демо: https://jsfiddle.net/Rakesh029/460c5tLv/1/

0 голосов
/ 12 июля 2019

выбирает тег div (имеет класс "div1") с помощью селектора, находит внутренний div и проверяет, есть ли у него класс или нет.

var array;
$(".div1").each(function(index, item){
   var className = $(this).find("div").attr("class");
   if(!className){ array.push("0") }
   else {array.push(className)}
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...