Javascript 选择包含相同id的所有元素

Javascript 选择包含相同id的所有元素,javascript,jquery,Javascript,Jquery,我想迭代id为“response\u is\u accepted”的所有元素,并能够将它们的值更改为其他值。ie:val1。 我试过了,但是我的尝试失败了 $('#response_is_accepted').each(function(i, obj) { alert($(this).text()); }); 它总是给我未定义或空白在我的警报 <form novalidate="novalidate" class="sim

我想迭代id为“response\u is\u accepted”的所有元素,并能够将它们的值更改为其他值。ie:val1。 我试过了,但是我的尝试失败了

$('#response_is_accepted').each(function(i, obj) {
            alert($(this).text());
        }); 
它总是给我未定义或空白在我的警报

            <form novalidate="novalidate" class="simple_form edit_response" id="edit_response_113" action="/responses/113" accept-charset="UTF-8" data-remote="true" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="_method" value="patch" />
<div class="form-group hidden response_is_accepted"><input class="hidden form-control" type="hidden" value="0" name="response[is_accepted]" id="response_is_accepted" /></div>
<input type="submit" name="commit" value="Update Response" class="btn btn-default" />

<button type="button" class="btn btn-default btn-xs pull-right is-accepted" aria-label="Left Align" >Accept</button>

jeje | about 13 hours ago
</form>


<br>
<br>
<br> <form novalidate="novalidate" class="simple_form edit_response" id="edit_response_112" action="/responses/112" accept-charset="UTF-8" data-remote="true" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="_method" value="patch" />
<div class="form-group hidden response_is_accepted"><input class="hidden form-control" type="hidden" value="0" name="response[is_accepted]" id="response_is_accepted" /></div>
<input type="submit" name="commit" value="Update Response" class="btn btn-default" />

<button type="button" class="btn btn-default btn-xs pull-right is-accepted" aria-label="Left Align" >Accept</button>

jeje | about 15 hours ago
</form>


<br>
sa<br>
<br> <form novalidate="novalidate" class="simple_form edit_response" id="edit_response_111" action="/responses/111" accept-charset="UTF-8" data-remote="true" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="_method" value="patch" />
<div class="form-group hidden response_is_accepted"><input class="hidden form-control" type="hidden" value="0" name="response[is_accepted]" id="response_is_accepted" /></div>
<input type="submit" name="commit" value="Update Response" class="btn btn-default" />

<button type="button" class="btn btn-default btn-xs pull-right is-accepted" aria-label="Left Align" >Accept</button>

jeje | about 15 hours ago
</form>
帮助请更换:

$('#response_is_accepted')
与:

HTML中的元素在其类中具有响应,而不是id,因此需要使用类选择器

如果您只需要元素,请使用以下选项:

$('.response_is_accepted input.form-control')
在jquery中:

$(document).each(
"#response_is_accepted",
function(){
    $(this).attr("val",1);
);

首先,我不确定你到底想要什么。但是,从代码中可以看出,您引用的是ID,不幸的是,ID名称必须是唯一的。如果要获取输入值,则可以使用$'。response_被接受,但此选择器可用于,然后要获取输入值,可以使用。查找如下代码:

 $('.response_is_accepted').each(function(){
    alert($(this).find('input').val());     
 });

ID名称必须是唯一的,否则使用类而不是类,看看他的HTML。他已经得到了答案,他只需要使用正确的选择器,就像我回答的那样。嗨,谢谢你的回答。你是对的。我只有一个问题:我无法在alert中打印每个项目的值。我使用的代码是:$'.response_已被接受'.eachfunctioni,obj{alert$this.val;};它重复了3次,这就是我想要的,但它不仅仅是显示valHi,谢谢你的回复。你是对的。我只有一个问题:我无法在alert中打印每个项目的值。我使用的代码是:$'.response_已被接受'.eachfunctioni,obj{alert$this.val;};它重复了3次,这正是我想要的,但它不仅仅显示val.@Cerbrus$'。response_is_accepted'引用,而不是输入。我猜他想得到输入值是的,我可以看到所有属性值。但是我实际上需要改变每个元素的值,这就是为什么我需要访问them@jumbo_burger:见CERBURS编辑的文章。这会解决你的问题。谢谢你的帮助和回复。
 $('.response_is_accepted').each(function(){
    alert($(this).find('input').val());     
 });