如何直接获得父节点?

时间:2018-09-24 04:01:08

标签: javascript

我要选择包含sonNode输入且其类型为text的td

<td><input type="button" value="submit"></td>
<td><input type="text" value="test"></td>

我的js代码

var fob = document.querySelector("td input[type='text']");
fob.parentNode;

在我的案例中,有没有一种方法可以直接定位到td标记,其中包含sonNode输入,其类型是文本?

document.querySelector("td input[type='text']").parentNode.nodeName

这是一种间接方法,首先获取子节点,然后再转到父节点。
我希望某些表达式直接得到td

 document.querySelector("expression")

使document.querySelector("expression").nodeName等于td

1 个答案:

答案 0 :(得分:0)

简单地说-不。

如果您考虑一下,从逻辑上讲,您就是在寻找符合条件的元素,然后扩展到其父元素。例如:

“在这5个盒子中的一个里面找到一支铅笔。用铅笔把盒子拿起来。”

就速记编码解决方案而言,您可以直接从执行行直接调用parentNode,甚至可以选择要选择的属性:

var fob = document.querySelector("td input[type='text']").parentNode.getAttribute('name');
alert(fob);
<table>
<tbody>
<tr><td>test</td></tr>
<tr><td name='here'><input type="text" placeholder="123"/></td></tr>
</tbody>
</table>

编辑 这是VIM的示例:

vim example.txt

这仅在您位于同一目录中时有效,也就是bash没有父母考虑。

如果您位于绝对根目录中,并且键入了该命令,但是文件位于/home/me/example.txt内部,则您将不会编辑该文件,则必须输入:

vim /home/me/example.txt