Получить внутренний текст для элемента before lastchild - PullRequest
0 голосов
/ 20 марта 2019

У меня есть следующий пример, где я пытаюсь извлечь внутренний текст для элемента «a», который является дочерним элементом элемента «i», расположенного перед последним дочерним элементом списка.

Пример:

<div class="lms-pagination" id="lms-pagination">    
	<ul>      
        <li class="disabled">
          <span class="current prev">Previous page</span>
        </li>
        <li class="active">
          <span class="current en-lang">1</span>
        </li>        
        <li>
          <a data-page="1" class="page-link en-lang">2</a>
        </li>
        <li>
          <a data-page="2" class="page-link en-lang">3</a>
        </li>
        <li class="disabled"><span class="ellipse">...</span></li>
        <li>
          <a data-page="17" class="en-lang">18</a> <!-- Try to extract 18 in this example -->
        </li>
        <li>
          <a href="#1" class="next">Next page</a>
        </li>
  </ul>
</div>

Я пытаюсь использовать что-то вроде

                    lastPage = await newPage.$$eval('#lms-pagination>ul>li:nth-child(???)>a', el => el.innerText);

Ответы [ 2 ]

1 голос
/ 20 марта 2019

Использование Javascript: =

function myFunction() {
  var list = document.getElementById("myList").lastChild.innerHTML;
  document.getElementById("demo").innerHTML = list;

  var items = document.querySelectorAll("li");
  var lastchild = items[items.length - 2].innerHTML;
  document.getElementById("demo1").innerHTML = lastchild;
}
<p>Example list:</p>
<ul id="myList">
  <li>Coffee</li>
  <li>Tea</li>
  <li>Coffee22</li>
  <li>Tea22</li>
  <li>Coffee33</li>
  <li>Tea33</li>
</ul>
<p>Click the button to get the HTML content of the list's last child node.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<p id="demo1"></p>
<script>
</script>

Использование jQuery: =

alert($("li:nth-last-of-type(2)").text())
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="lms-pagination" id="lms-pagination">
  <ul>
    <li class="disabled">
      <span class="current prev">Previous page</span>
    </li>
    <li class="active">
      <span class="current en-lang">1</span>
    </li>
    <li>
      <a data-page="1" class="page-link en-lang">2</a>
    </li>
    <li>
      <a data-page="2" class="page-link en-lang">3</a>
    </li>
    <li class="disabled"><span class="ellipse">...</span></li>
    <li>
      <a data-page="17" class="en-lang">18</a>
      <!-- Try to extract 18 in this example -->
    </li>
    <li>
      <a href="#1" class="next">Next page</a>
    </li>
  </ul>
</div>
0 голосов
/ 20 марта 2019

Вы можете получить второе последнее дочернее значение, как это.$("li").eq(-2).text()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...