Javascript - 从元素名称获取元素?
当我尝试以下方法:Javascript - 从元素名称获取元素?
<html>
<body>
<script type="text/javascript">
window.onload = function() {
var test1 = document.getElementsByName("div1");
alert(test1[0]);
var test2 = test1[0].getElementsByName("div2");
alert(test2[0]);
}
</script>
<div name="div1">
<div name="div2">
</div>
</div>
</body>
</html>
它不工作,我打算将它的方式。我做了一个表单,我需要能够以类似的方式获取表单数据。
getElementsByName
应该只从document
元素叫:
var test2 = document.getElementsByName('div2');
更重要的是,你真的应该只使用name
属性的表单元素,而不是div
秒。
如果你想要一个API,它更容易让你一个DOM元素中做的搜索,可以考虑使用jQuery:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
$(function() {
var div1 = $('#div1');
var div2 = div1.find('#div2');
});
</script>
</head>
<body>
<div id="div1">
<div id="div2"></div>
</div>
</body>
</html>
当然,因为id
s必须是唯一的文件范围,通常有没有理由在另一个元素内搜索特定的ID。因此,你并不需要像jQuery这样简单的东西。
)如果你使用的是简单的id,那么jQuery是过度杀伤性的,div1 = document.getElementById(“div1”); div2 = document.getElementById(“div2”);'你甚至不需要使用div1作为上下文因为ids被认为是唯一的 –
我完全同意。补充说,注意到的答案。 – Jacob
谢谢。我不想通过身份证得到具体的元素。我有一个表单可变数量的选项,我需要按照它们出现的顺序来获取它们,我还能怎么做? – mowwwalker
div的属性中没有name
。为什么不用ID来代替?
该死!我的大脑阅读机有一个bug,好的,我放弃了,你想用什么方式使用它? –
你可以使用jQuery吗?是的你想做什么? – kasdega
你打算使用element.innerHTML而不是仅仅是元素节点本身吗? –