![](/img/trans.png)
[英]How to get the value of an element located in the parent element by class name
[英]how to get element value by knowing parent's name of another parent
假設我有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>
非常感謝
您可以使用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>
沒有相同的目的給兩個不同的元素。 您對使用ID的概念感到困惑。 嘗試使用其他ID,它將起作用。 例如:
$('#parentId').find('#childId');
要么
$('#parentId #childId');
您將使用單行代碼獲得第二個textarea值。 無需使用任何ID。 檢查下面的更新的片段。
console.log($('form[name="form2"] textarea').val());
<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>
您還可以使用純js從所需的textarea中獲取價值
var forms = document.getElementsByTagName('form'); for(var i = 0, ii = forms.length; i < ii; i++) { var textArea = forms[i].getElementsByTagName("textarea")[0]; console.log(textArea.value) }
<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>
請嘗試以下代碼
val2 = $("form[name=form2] #samediv2 textarea").val()
上面的代碼將返回value作為value2
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.