如何使用Java脚本从复选框中获取跨度文本?

问题描述 投票:0回答:1

假设我有以下代码:

  <p>
    <label>
      <input name="milk" type="checkbox">
      <span>Milk</span>
    </label>
  </p>

如何使用javascript获取span标签之间的文本?如果登录到控制台,结果应为Milk。谢谢!

javascript html dom checkbox text
1个回答
0
投票
见下文:

function printText(el) { console.log( el.parentNode.querySelector('span').innerHTML ); }
<p> <label> <input name="milk" type="checkbox" onclick="printText(this)"> <span>Milk</span> </label> </p>

[Edit: OP询问是否无法更改HTML

如果不能更改HTML,则可以通过如下所示的javascript找到复选框并跨越元素:

var chkBox = document.querySelector('input[type="checkbox"][name="milk"]'); chkBox.addEventListener("click", function() { if(this.checked) { // remove this if statement if you want it to print on every click console.log( this.parentNode.querySelector('span').innerHTML ); } });
<p> <label> <input name="milk" type="checkbox"> <span>Milk</span> </label> </p>
© www.soinside.com 2019 - 2024. All rights reserved.