繁体   English   中英

获取同级元素的值

[英]Get value of a sibling element

我有以下小提琴:

https://jsfiddle.net/q74k8cke/

代码是这样的:

<div>
  <input type="number" value="1"/>
  <button onclick="alert(this.parentElement.childNodes[0].value)">Click me</button>
</div>

我遇到的问题是我总是不确定,为什么? 我尝试了innerHTMLtextvalue ,都给了我相同的结果。 如果我尝试执行nodeName得到#text作为输出。 我到底在做什么错?

我必须使用纯JavaScript和内联来解决此问题。 不能添加ID

我遇到的问题是我总是不确定,为什么?

因为父级的第一个子节点是其中带有空格的Text节点,而不是input childNodes包括各种节点,而不仅仅是Element

您可以使用children ,它们只是Element的子Element ,但您真正要寻找的是previousElementSibling ,这听起来像是:上一个兄弟ElementElement (与Text节点, Comment节点等):

<button onclick="alert(this.previousElementSibling.value)">Click me</button>

现场示例:

 <div> <input type="number" value="1"/> <button onclick="alert(this.previousElementSibling.value)">Click me</button> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM