假设我有 2 个具有相同 ID 的文本区域,并且它们的父级具有相同的 ID,但是父表单具有不同的名称..并且我需要获取第二个表单的第二个文本区域的值! 这是一个简单的代码..
var formX = document.getElementsByName("form2");
for(i = 0; i < formX.length; i++){
if(formX[i].type == "textarea"){
var inputval = formX.value;
alert(inputval);
}
}
<form name="form1">
<div id="samediv1">
<div id="samediv2">
<textarea id="sameID">value1</textarea>
</div>
</div>
</form>
<form name="form2">
<div id="samediv1">
<div id="samediv2">
<textarea id="sameID">value2</textarea>
</div>
</div>
</form>
- 当我尝试时,没有出现警报,我知道这是因为循环没有找到任何文本区域,因为它位于表单内的另一个元素内。 那么,如何深入 parent 和 child 呢?!!
非常感谢
最佳答案
您可以使用 jQuery find()
或 children()
方法获得相同的结果。在这里您可以阅读 jQuery Traversing .
console.log($('[name=form2]').find('#sameID').text()); //or value() can be used in place of text() method
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="form1">
<div id="samediv1">
<div id="samediv2">
<textarea id="sameID">value1</textarea>
</div>
</div>
</form>
<form name="form2">
<div id="samediv1">
<div id="samediv2">
<textarea id="sameID">value2</textarea>
</div>
</div>
</form>
关于javascript - 如何通过知道另一个父级的父级名称来获取元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45300872/