猿问

如何使用 Javascript 从复选框获取跨度文本?

假设我有以下代码:


  <p>

    <label>

      <input name="milk" type="checkbox">

      <span>Milk</span>

    </label>

  </p>

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


慕的地8271018
浏览 87回答 1
1回答

胡说叔叔

您可以将 this 发送到复选框的 onclick 方法中,因此它调用的函数可以跟踪被单击的元素并访问其父元素为了访问父级的子级 span 元素。见下文:function printText(el) {&nbsp; console.log( el.parentNode.querySelector('span').innerHTML );}<p>&nbsp; <label>&nbsp; &nbsp; <input name="milk" type="checkbox" onclick="printText(this)">&nbsp; &nbsp; <span>Milk</span>&nbsp; </label></p>编辑:OP询问如果HTML无法更改怎么办如果无法更改 HTML,您可以通过 javascript 找到复选框和 span 元素,如下所示:var chkBox = document.querySelector('input[type="checkbox"][name="milk"]');chkBox.addEventListener("click", function() {&nbsp; if(this.checked) { // remove this if statement if you want it to print on every click&nbsp; &nbsp; console.log( this.parentNode.querySelector('span').innerHTML );&nbsp; }});<p>&nbsp; <label>&nbsp; &nbsp; <input name="milk" type="checkbox">&nbsp; &nbsp; <span>Milk</span>&nbsp; </label></p>
随时随地看视频慕课网APP

相关分类

Html5
我要回答