Селекторы jquery / cheerio: как получить текст в теге b?

<div class="class1">
  <div class="item-class1">
    <a href="http://www.example.com/1" target="blank" title="title1">
     <b>Test1</b>
    </a>
  </div>
</div>

Я пытался извлечь ссылки с этим кодом:

var list = [];
$('.class1 > .item-class1').find('b').each(function (index, element) {
  list.push($(element).text());
});

Что я делаю неправильно?

1 ответ

Вы просто не используете хороший селектор jQuery. Вы должны использовать .attr('href') метод.

Вот полный пример:

<div class="class1">
  <div class="item-class1">
    <a class="tobelisted" href="http://www.example.com/1" target="_blank" title="title1">
     <b>Test1</b>
    </a>
  </div>
</div>
<div class="class1">
  <div class="item-class1">
    <a class="tobelisted" href="http://www.example.com/2" target="_blank" title="title1">
     <b>Test2</b>
    </a>
  </div>
</div>
<script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>

<script type="text/javascript">
    var list = [];
    $('.tobelisted').each(function(){
        list.push($(this).attr('href'));
    });
    console.log(list);
</script>
Другие вопросы по тегам