我有几个div元素,在每个div标签中,我有其他表单元素。例如:
<div id="div1"><input type="text" name="answer" id="answer"></div>
<div id="div2"><textarea name="answer" id="answer">Some Value</textarea></div>
<div id="div3"><textarea name="answer" id="answer">Some Value</textarea></div>
如何仅为div3检索textarea。这是我的,但我总是只回到div2的文本区域
var divElement = dojo.byId('div3');
if ($('textarea', divElement).length > 0){
var text = $('textarea#answer').val();
}
帮助!
答案 0 :(得分:1)
尝试以下选择器
var value = $('#div3 textarea').val();
alert(value);
注意:您的解决方案是对textarea和输入标记使用重复的id
值。拥有多个身份证是不合法的,并会让你痛苦不堪。最好将标记更改为具有唯一ID,然后直接进行查询。例如
HTML:
<div id="div1"><input type="text" name="answer" id="answer1"></div>
<div id="div2"><textarea name="answer" id="answer2">Some Value</textarea></div>
<div id="div3"><textarea name="answer" id="answer3">Some Value</textarea></div>
的Javascript
var value = $('#answer3').val();
alert(value);
答案 1 :(得分:0)
var firstTextarea = $('#div3').find('textarea :first').val();
答案 2 :(得分:0)
好吧,你已经为3个元素分配了相同的ID,这不是一个好习惯。每个元素都应该有唯一的id。如果您分配了相同的ID,您将始终从代码中检索第一个元素 如果要检索div 3 textarea,请使用以下选择器:
$('#div3 textarea).val()