为什么Jquery只响应第一个元素


Why is Jquery only responding to first element?

我在我的网站上有评论,有一个回复按钮。当点击回复按钮时,会弹出一个新的文本框,允许用户回复评论。

对于一些人来说,如果一个页面上有多条评论,回复链接只适用于其他评论底部的评论。本质上是一个以上列表中的第一条注释。

我很确定这与我的点击函数类有关。

这是我的html和php结构:

<a name='reply_form_<?php echo $airwave_comment_row['id']; ?>' style="clear:both"></a>
    <div id='reply_to_<?php echo $airwave_comment_row['id']; ?>' class="respond_structure_future" <?php if(isset($_GET['reply_to']) && $_GET['reply_to'] == $airwave_comment_row['id']) { echo 'style="display:block;"';}else{ echo 'style="display:none;"';} ?>>
        <div class="response_polaroid_future">
            <a href="http://www.cysticlife.org/Profile.php?id=<?php// echo $auth->id; ?>">
                <img src="/styles/images/prof_thumbnail_2.jpg" />
            </a>
        </div>
        <?php                               
        echo validation_errors();
        echo form_open('community/insert_airwaves_comments_replies/'.$this->uri->segment(3));
        ?>
            <div class="respond_body_future">
                <div class="response_arrow_future"></div>
                <div class="response_tail_future"></div>
                <div class="respond_data_future">
                <?php 
                $data = array('name' => 'airwaves_comments_replies', 'id' => 'reply_to'. $airwave_comment_row['id'].'_textarea', 'class' => 'respond');
                echo form_textarea($data, set_value('airwaves_comments_replies'));
                $data = array('type' => 'hidden', 'name' => 'comment', 'value' => $airwave_comment_row['id']);
                echo form_input($data);
                ?>
                <div class="respond_nevermind">
                    <a href="reply_to_<?php echo $airwave_comment_row['id']; ?>">nevermind</a>
                </div>
                <?php
                echo form_submit('sub_comment_reply', 'Reply'); 
                ?>
                </div>
            </div>
        </form>
    </div>

jquery:

<script type="text/javascript">
$(document).ready( function() {
    $('.scroll').localScroll({ offset:{top:-0,left:0} });
    $("a.reply_link").click( function() {
        $("#"+$(this).attr('name')).fadeIn('slow');
    });
    $(".respond_nevermind a").click( function(event) {
        event.preventDefault();
        var reply_box = document.getElementById($(this).attr('href'));
        $(reply_box).css('display','none');
        var reply_textarea = document.getElementById($(this).attr('href')+"_textarea");
        $(reply_textarea).val('');
    });
});
</script>

提前谢谢。

点击事件处理程序绑定到初始的现有元素,但动态创建的元素没有绑定。

尝试使用live()on()来绑定动态创建的元素。