Как получить значение идентификатора li, используя javascript - PullRequest
0 голосов
/ 09 января 2020

Javascript:

let BLACKLIST_TOPICS = [];
if (getCookie('topics')) {
    BLACKLIST_TOPICS = (getCookie('topics')).split(',');
} 
const CONTENEUR_TOPICS = document.getElementsByClassName('topic-list topic-list-admin');
let TOPICS;
if (CONTENEUR_TOPICS.length > 0) {
    TOPICS = CONTENEUR_TOPICS[0].children;
}

function blacklistTopic() {
            for (let i = 1; i < 27; i++) {
                if (i != 13 && TOPICS) {
                    const result = /^(.+?)\n\t(.+)\t(.+)\t(.+)\t$/.exec(TOPICS[i].innerText);
                    for (let j = 0; j < BLACKLIST_TOPÏCS.length; j++){
                        if (result && result[2] == BLACKLIST_TOPICS[j]) {
                            topicBL.push(TOPICS[i]);
                            TOPICS[i].style.display = 'none';
                        }
                    }

                }
            }
        }

Css:

 < ul class="topic-list topic-list-admin">
     < li class data-id="61825360"></li>
     < li class data-id="61824752"></li>
     < li class data-id="61826398"></li>
 < /ul>

Я пытаюсь получить список значений идентификатора данных внутри массива «result», используя только javascript, нет jquery

пример:

result= [61825360, 61824752, 61826398]

Ответы [ 2 ]

0 голосов
/ 09 января 2020

Попробуйте это

var lis = document.querySelectorAll('.topic-list li')

var result = []
for (let i = 0; i < lis.length; i++) {
   result.push(result[i].getAttribute('data-id'))
}

console.log(result)
0 голосов
/ 09 января 2020

Используйте свойство dataset, чтобы получить значение атрибута data-XXX. Вы можете l oop по темам, получив data-id каждой. используйте .map(), чтобы вернуть их в массив.

const CONTENEUR_TOPICS = document.getElementsByClassName('topic-list topic-list-admin');
let TOPICS;
if (CONTENEUR_TOPICS.length > 0) {
  TOPICS = CONTENEUR_TOPICS[0].children;
  let result = blacklistTopic(TOPICS);
  console.log(result);
}

function blacklistTopic(topics) {
  return Array.from(topics).map(el => el.dataset.id);
}
<ul class="topic-list topic-list-admin">
  <li class data-id="61825360"></li>
  <li class data-id="61824752"></li>
  <li class data-id="61826398"></li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...