具有相同id和jQuery的DOM元素

时间:2010-06-03 20:38:08

标签: javascript ruby-on-rails ajax jquery

嗨我的应用程序中有多个具有相同结构的元素。第二个div元素的id根据db中唯一的注释id而变化。有些元素的id为'vote_up'和'vote_down'。每个评论都会重复这一点。正如我所提到的那样,会发生多条评论。我想执行Ajax请求。第一个结构使用ajax正常运行,但其余部分执行http请求。顺便说一下我正在开发一个rails应用程序,我正在使用jQuery。

<div id="post_comment">
john<i> says </i> Comment<br/>

<div id="comment_10_div">
**<form action="/comments/vote_up" id="vote_up" method="post">**
         <div style="margin:0;padding:0;display:inline">
               <input name="authenticity_token" type="hidden" 
               value="w873BgYHLxQmadUalzMRUC+1ql4AtP3U7f78dT8x9ho=" />
         </div>
     <input id="Comment_place_id" name="Comment[post_id]" type="hidden" value="3" />
     <input id="Comment_id" name="Comment[id]" type="hidden" value="10" />
     <input id="Comment_user_id" name="Comment[user_id]" type="hidden" value="2" />
     <input name="commit" type="submit" value="Vote up" />
</form>

<label id="comment_10">10</label>

**<form action="/comments/vote_down" id="vote_down" method="post">**
        <div style="margin:0;padding:0;display:inline">
            <input name="authenticity_token" type="hidden" 
            value="w873BgYHLxQmadUalzMRUC+1ql4AtP3U7f78dT8x9ho=" />
        </div>
    <input id="Comment_place_id" name="Comment[place_id]" type="hidden" value="3" />

    <input id="Comment_id" name="Comment[id]" type="hidden" value="10" />
    <input id="Comment_user_id" name="Comment[user_id]" type="hidden" value="2" />
    <input name="commit" type="submit" value="Vote Down" />
</form>
</div>      

你能帮我解决一下吗? 感谢

2 个答案:

答案 0 :(得分:4)

是的,正如Matti上面提到的,W3C标准ID必须是唯一的。一个很好的解决方法是postfix comment的db ID,例如<input id="Comment_39127438"...

答案 1 :(得分:4)

扩展已经说过的内容,你应该采用的方式是:

<div id="comment_10" class="comment">
</div>

然后您可以选择所有评论:

$('.comment')

或单一评论:

$('#comment_10")