Jquery:如何动态选择特定的先前id?

时间:2015-06-21 16:35:29

标签: jquery jquery-selectors

当我点击"评论"时,我试图添加一个评论框,就像你可以在Facebook上打开一样。所以我想选择包含" users_log_id"的最先前的id。当前"评论"链接我点击了。

注意:" users_log_id"始终是当前ID的ID,如下所示:users_log_id38

我试过这种方式,但这似乎找不到我正在搜索的选择器:

$('.comment').on('click', function(e) {
    e.preventDefault();
    var selector = $('[id$=users_log_id]').prev();
    console.log(selector);
});

首先,我只是想找到合适的选择器ID来添加我提到的评论框。

修改

我刚尝试guest271314的答案并使用了这个:

$('.comment').on('click', function(e) {
    e.preventDefault();
    var selector = $(this).closest('[id^=users_log_id]').prev();
    console.log(selector);
    selector.append("test");
});

现在它可以正常工作,但前提是我搜索的id是我点击的comment类的父级(看起来像)。请参阅此图像链接以获取HTML的可视化。箭头显示我点击的comment班级所在的位置: http://s27.postimg.org/52n3x0jgj/SOOO.jpg

1 个答案:

答案 0 :(得分:1)

  

注意:“users_log_id”之后始终是当前id的id   这个:users_log_id38

尝试使用.prevAll()Attribute Starts With Selector [name^="value"]

$('.comment').on('click', function(e) {
    e.preventDefault();
    var selector = $(this).prevAll('[id^=users_log_id]').filter(":first");
    console.log(selector);
});