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

Вы можете присоединиться к двум коллекциям в Монго, используя поиск, который предлагается в версии 3.2. В вашем случае запрос будет

db.comments.aggregate({
    $lookup:{
        from:"users",
        localField:"uid",
        foreignField:"uid",
        as:"users_comments"
    }
})

, или вы также можете присоединиться к пользователям, тогда будет небольшое изменение, как указано ниже.

db.users.aggregate({
    $lookup:{
        from:"comments",
        localField:"uid",
        foreignField:"uid",
        as:"users_comments"
    }
})

Он будет работать так же, как левое и правое соединение в SQL.

0
задан mplungjan 17 January 2019 в 14:46
поделиться

3 ответа

// jQuery

$(".black-p").each(function() {
  const $this = $(this);
  console.log($this.attr("coin-type"))
});


// Javascript 
const xclassget = document.getElementsByClassName('black-p');

for (let i = 0; i < xclassget.length; i++) {
  console.log(xclassget[i].getAttribute("coin-type"));
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<article class="black-p stacard caading" coin-type="pageingx" coin-name="moonpa" coin-rank="1">


  <article class="black-p stacard caading" coin-type="YYYYYYY" coin-name="XXXXXX" coin-rank="Z">

    <article class="black-p stacard caading" coin-type="YYYYYYY" coin-name="XXXXXX" coin-rank="Z">

0
ответ дан mplungjan 17 January 2019 в 14:46
поделиться

Вот пример без jQuery. Я не совсем уверен, к какому объекту данных вы обращаетесь, но после того, как у вас есть каждый элемент в цикле, нужно извлечь то, что вам нужно.

var xclassget=document.getElementsByClassName('black-p stacard caading');
var attributes = []
Object.keys(xclassget).forEach(function(el) {
  var element = xclassget[el]
  attributes.push({
    'coin-value': element.attributes['coin-type'].value,
    'coin-name': element.attributes['coin-name'].value,
    'coin-rank': element.attributes['coin-rank'].value,
    })

})

console.log(attributes)
0
ответ дан Zenkylo 17 January 2019 в 14:46
поделиться

Если я правильно понимаю ваши требования, я думаю, что вы можете просто захотеть получить доступ к атрибутам, используя метод getAttribute.

var xclassget = document.getElementsByClassName('black-p stacard caading');

var nodes = [];
var values = [];

for (var i = 0; i < xclassget.length; i++) {
  nodes.push(xclassget[i]);
  values.push({
    coinType: xclassget[i].getAttribute('coin-type'),
    coinName: xclassget[i].getAttribute('coin-name'),
    coinRank: xclassget[i].getAttribute('coin-rank')
  });
}

console.log(nodes, values);
<article class="black-p stacard caading"
           coin-type="pageingx"
           coin-name="moonpa"
           coin-rank="1">
</article>

<article class="black-p stacard caading"
           coin-type="YYYYYYY"
           coin-name="XXXXXX"
           coin-rank="Z">
</article>

<article class="black-p stacard caading"
           coin-type="YYYYYYY"
           coin-name="XXXXXX"
           coin-rank="Z">
</article>  

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

console.log(values.map(value => value.coinName).join(', '))

Или, если вы хотите сделать строковое значение, разделенное запятыми, как названия и типы монет:

console.log(values.map(value => `CoinName: ${value.coinName} | CoinType: ${value.coinType}`).join(', '))
0
ответ дан Nick 17 January 2019 в 14:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: