Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过id获取最近的元素_Javascript_Html_Dom - Fatal编程技术网

Javascript 通过id获取最近的元素

Javascript 通过id获取最近的元素,javascript,html,dom,Javascript,Html,Dom,我有两个要素: <input a> <input b onclick="..."> 单击b时,我想访问a并操作它的一些数据。A没有全局唯一的名称,因此document.getElementsByName不可用。查看event对象,我认为event.target.parentNode会有一些类似getElementsByName的函数,但s的情况似乎不是这样。有什么简单的方法可以做到这一点吗?如果a和b相邻且具有相同的父级,则可以使用b的Previsibling属性查找a

我有两个要素:

<input a>
<input b onclick="...">
单击b时,我想访问a并操作它的一些数据。A没有全局唯一的名称,因此document.getElementsByName不可用。查看event对象,我认为event.target.parentNode会有一些类似getElementsByName的函数,但s的情况似乎不是这样。有什么简单的方法可以做到这一点吗?

如果a和b相邻且具有相同的父级,则可以使用b的Previsibling属性查找a。

如果a和b相邻且具有相同的父级,则可以使用b的Previsibling属性查找a

您应该能够找到从中单击的元素。根据您的浏览器,您可能需要e.target或e.src元素。以下代码来源于此:

然后可以使用nextSibling和previsibling DOM遍历函数。再一次成为学校的参考

您应该能够找到从中单击的元素。根据您的浏览器,您可能需要e.target或e.src元素。以下代码来源于此:

然后可以使用nextSibling和previsibling DOM遍历函数。再一次成为学校的参考


留下你的纯香草JavaScript。获取JQuery,它将为您节省大量时间


留下你的纯香草JavaScript。获取JQuery,它将为您节省大量时间

还有一些很好的函数可以在DOM中移动。在您的示例中,类似于以下内容的操作可以实现此目的:

b.up().down('a')
如果该级别的a元素不止一个,那么您可以使用CSS选择器精确地指定您想要的元素,该元素在DOM中也有很好的移动功能。在您的示例中,类似于以下内容的操作可以实现此目的:

b.up().down('a')
如果在该级别有多个元素,那么您可以使用CSS选择器精确指定所需的元素