为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用JavaScript捕获发生点击事件时的p元素值

如何使用JavaScript捕获发生点击事件时的p元素值

千巷猫影 2023-07-20 17:21:51
这是我的代码。我想在单击按钮时捕获星云和价格 1.44。任何人都可以帮助我吗?网页代码           <div class="item__top">                <p> Nebula</p>                <p>                    Price<span class="big-price">1</span>.44                    <span class="text-large">/mo</span>                </p>                <p>$2.88</p>                                <button class="calculate-hosting">Get Started</button>                <p>You pay $17.28 — Renews at $33.88/year</p>            </div>JS代码var calHosting = document.querySelectorAll('.calculate-hosting');[...calHosting].forEach(cal=>{    cal.addEventListener('click',function(event){        document.getElementById('cal-container').style.display='block';    });});Note: I am dealing with mutiple buttons so thats why I sued querySelectorAll.
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

您可以使用this来引用单击的按钮,.parentElement向上爬,然后选择段落及其内部文本。可以从那里按照您喜欢的方式解析文本。


var calHosting = document.querySelectorAll('.calculate-hosting');

[...calHosting].forEach(cal => {

    cal.addEventListener('click', function (event) {

        var paragraphs = this.parentElement.querySelectorAll("p");

        var p1 = paragraphs[0].innerText;

        var p2 = paragraphs[1].innerText;

        var price = Number(p2.match(/\d+\.\d+/)[0]);

        

        console.log(p1); // Nebula

        console.log(p2); // Price1.44 /mo

        console.log(price); // 1.44

        

        // document.getElementById('cal-container').style.display = 'block';

    });

});

<div class="item__top">

    <p> Nebula</p>

    <p>

        Price<span class="big-price">1</span>.44

        <span class="text-large">/mo</span>

    </p>

    <p>$2.88</p>


    <button class="calculate-hosting">Get Started</button>

    <p>You pay $17.28 — Renews at $33.88/year</p>

</div>


查看完整回答
反对 回复 2023-07-20
  • 1 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信