0

ウォールを開発していますが、次のコードに問題があります。下の画像からわかるように、新しいコメントが下部に追加されています。しかし、コメントボックスの前に追加する必要があります。多分 .before() が便利になると思いましたが、それを機能させる方法がわかりませんでした。これを機能させる方法についてのアイデアはありますか?

ここに画像の説明を入力

jQuery:

e.closest('.status-border-bottom-box1').find('.commentsList').append(html); // needs to insert before commentBox

HTML:

        <div class="commentsList" style="width: 104%">
        <div id="commentLikeListing" style="width: 100%; display: none"></div>
<?php   $query1 = $this->db->query("SELECT * FROM wallpostcomments wp INNER JOIN users u ON u.userid = wp.userid WHERE wallPostId = '{$row->idwallPosts}' ORDER BY wp.idwallPostComments ASC");
        foreach($query1->result() as $row1)
            if ($query->num_rows() > 0) { ?>
        <div id="likeList" style="display: none; width: 95%"></div>
        <div id="commentsList" style="width: 96%">
        <table cellpadding="0" cellspacing="0" style="width: 408px" class="style1 commentStyle">
        <tr>
        <td valign="top" style="width: 10px">
        <img style="padding: 3px" id="defaultImg a0" src="<?=base_url().$row1->defaultImgURI?>" align="left" width="25px" height="25px" />
        &nbsp;</td>
        <td valign="top" style="width: 319px">
        <a class="font1 link-font1"><b><?=$row1->firstname.' '.$row1->lastname?> </b></a><?=$row1->entryData.'<br>'.date('m/d/Y h:ia ', strtotime($row1->DateTimeCreated))?></a>
        </td>
    </tr>
</table>
        </div>
        <?php } ?>
        <input placeholder="Write a comment..." id="commentBox-<?php echo $row->idwallPosts; ?>" class="textbox1" style="width: 400px"></input>
        </td>
        </tr>

</table>
<?php } } else { ?>
    <div id="commentsListNewData" class="commentStyle" style="visibility: hidden; width: 96%"></div>
    <br>
    <div class="font2" style="text-align: center">Sorry but you are not associated with any churches. Click <span class="link-font1" id="findChurch">here</span> to find your church.</div>
    <?php } ?>
        <div id="newData"></div>
</div>
</div>
</td>
4

2 に答える 2

4

先頭に追加しますか? http://api.jquery.com/prepend/

あなたが望むものは明確ではありませんが、jQueryには特定の組み込み関数がある可能性があります。そして、他の場所で述べたようにcommentsList、警鐘を鳴らす 2 つの があります。

于 2012-06-28T16:02:36.867 に答える
0

.after()関数を試してください。一致した要素のセット内の各要素の後に、パラメーターで指定されたコンテンツを挿入します。

e.closest('.status-border-bottom-box1').find('.commentsList').after(html);
于 2012-06-28T16:07:21.120 に答える