Как пройти через два выбранных элемента? - PullRequest
0 голосов
/ 11 июля 2019

Я хочу просмотреть два класса страницы HTML, используя jQuery, и я пытаюсь использовать каждый цикл, но вопрос в том, где я могу получить доступ к обоим выбранным классам в функции обратного вызова?

var href = [];
$("div.news > ul > li:nth-child(1) > a , div.aticle  ").each((el, i) => {
    var baseURL = "someURL";
    var link = baseURL + $(i).attr("href");
    var text =
       /* i want to access text() of div.article along with the href 
       of the div.news in this loop and then push it into href array */
       href.push({
           link
       });
});

Я хочу получить доступ к тексту div.article , используя функцию text () jquery вместе с href из div.news в этом цикле, а затемвставьте его в массив href.

Ответы [ 2 ]

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

Опять проще без JQuery:

var href = [];
var baseURL = "someURL";
var text, link;
for (const el of document.querySelectorAll("div.news > ul > li:nth-child(1) > a , div.article")) {
  switch (el.tagName) {
    case 'A':
      link = el.getAttribute('href');
      break;
    case 'DIV':
      text = el.textContent;
      break;
    default:
  }
};
href.push(`<a href="${baseURL}${link}">${text}</a>`);

console.log(href);
<div class="news">
  <ul>
    <li>
      <a href="www.google.com"></a>
    </li>
  </ul>
  <ul>
    <li>
      <a href="www.bing.com"></a>
    </li>
  </ul>
  <ul>
    <li>
      <a href="www.duckduckgo.com"></a>
    </li>
  </ul>
</div>
<div class="article">
  text
</div>
0 голосов
/ 11 июля 2019

Рассмотрим следующее:

var href = [];
var text = [];
$("div.news > ul > li:nth-child(1) > a, div.article").each((el, i) => {
  if ($(i).is(".article"))
    text.push($(i).text());
  else {
    var baseURL = "someURL";
    var link = baseURL + $(i).attr("href");
    href.push(link);
  }
});
console.log(href, text)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="news">
  <ul>
    <li>
      <a href="www.google.com"></a>
    </li>
  </ul>
  <ul>
    <li>
      <a href="www.bing.com"></a>
    </li>
  </ul>
  <ul>
    <li>
      <a href="www.duckduckgo.com"></a>
    </li>
  </ul>
</div>
<div class="article">
  text
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...