微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按类选择某个元素中包含的最后一个元素?

如何解决按类选择某个元素中包含的最后一个元素?

我尝试了在有关 Javascript 的类似问题中找到的解决方案,但是,这些解决方案都没有奏效。该脚本仍然继续以所有元素为目标,而不仅仅是最后一个。下面我包括了我最后一次尝试让它工作的尝试。我有一个 ID 为“mainChart”的图表,在该图表中,有一个包含“ct-bar”元素的“ct-series-b”元素。每次运行脚本时,我都需要定位包含在“ct-series-b”中的最后一个“ct-bar”元素。我该怎么做?

我已经尝试了所有这些解决方案:Shortest way to get last element by class name in javascript 并且充其量,它仍然针对所有“ct-bar”元素。

JS

            const Chart = document.getElementById("mainChart");
            const series = Chart.querySelectorAll('.ct-series-b > .ct-bar')
            var last = Chart.querySelectorAll('.ct-series-b > .ct-bar:nth-last-of-type(1)')

解决方法

您可以使用 :last-child 选择器。请注意,这将获得 each .ct-bar 下的最后一个 .ct-series-b,因此如果您只想要其中一个下的const Chart = document.getElementById("mainChart"); const last = Chart.querySelectorAll('.ct-series-b > .ct-bar:last-child') console.log(last[0].textContent); console.log(last[1].textContent);,您可以调整查询。

<div id="mainChart">
  <div class="ct-series-b">
    <div class="ct-bar">1</div>
    <div class="ct-bar">2</div>
    <div class="ct-bar">3</div>
    <div class="ct-bar">4</div>
  </div>
  <div class="ct-series-b">
    <div class="ct-bar">5</div>
    <div class="ct-bar">6</div>
    <div class="ct-bar">7</div>
    <div class="ct-bar">8</div>
  </div>
</div>
buy

,

我不得不使用 for 循环来让它做我想做的事。现在它可以正确标记图表中的每个条形。

JS

var series = Chart.querySelectorAll('.ct-series-b > .ct-bar')

    for (var i = 0; i < data.length; i++) {
                                var seriesLabel = data.labels[i]
                                $(series[i]).attr("ct:info",seriesLabel)
                            }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。