使用 javascript 在第二个 li 标签中获取值

Get value in 2nd li tag with javascript

我需要在第二个 li 中获取值 "Bra",我没有使用 clas category64,因为 class 改变了每一页。

    <div class="breadcrumbs">
    <ul>
        <li class="home"><li>
        <li class="category63">
            <a href="http://asdasd.com/xyz/ title">Panty</a>
            <span>/ </span>
        </li>
        <li class="category93">
            <a href="http://asdasd.com/xyz" title=>Pierre Cardin</a>
            <span>/ </span>
                    </li>
        <li class="category64">
            <strong>Bra</strong>
    </ul>
</div>

我在获取值时遇到问题, 如果我在第二个 li 上得到值,为什么输出 "Pierre Cardin/",输出有“/”,如何不包括“/”?

在jquery

中习惯了这个代码

var code = $('.breadcrumbs > li:nth-of-type(2) strong').text(); alert(code);

使用nth-child选择器,匹配给定索引

的元素

var text = document.querySelector('.breadcrumbs li:nth-child(2)').innerText;
alert(text);
<div class="breadcrumbs">
  <ul>
    <li class="category63">
      <a href="http://asdasd.com/xyz/ title">Panty</a>
      <span>/ </span>
    </li>
    <li class="category64">
      <strong>Bra</strong>
  </ul>
</div>

你可以试试:

var a = document.querySelectorAll(".breadcrumbs li")[1].innerText;
alert(a);

demo

你有几个选择:

首先:将 id 附加到 <strong> 标签

<strong id="myId">Bra</strong>

并获取值:

 var text = document.getelementById('myId').innerHTML;

第二:使用 getElementsByTagName() 获取它为:

var text = document.getelementByTagName('li')[1].innerHTML;

但我个人不推荐这样做,因为如果您在 DOM 树中添加更多 li 标签到您想要获得的标签之上,li 的值可能会有所不同。

有可能将 id 属性添加到 li 而不是添加到 strong 标记,但是您将需要在获取 innerHTML 之前获取 firstchild 作为:

var text = document.getelementById('myId').firstChild.innerHTML;