使用jquery append方法添加的访问元素

时间:2018-09-28 12:36:24

标签: javascript jquery

我正在使用通过ajax获得的jquery向div附加一个元素:

$.ajax({
    url: 'api'
}).done(function (e) {
    $.each(e.records, function (index, value) {
        $('#productconatiner').append('<div><a href="#" data-id='+value.id+' class="pimg"></a></div>');
    });
})

现在我要访问此锚标记,所以我可以使用

$(document).on('click', '.pimg', function () {
    alert('something');
})

工作正常。

但是现在我想在特定条件匹配的情况下向其添加类,因此我尝试了很多事情,但没有任何效果。

例如,我想使用函数来做到这一点,所以我尝试了以下方式

function checkitem() {
    $.ajax({
        url: 'api'
    }).done(function (e) {
        $.each(e.records, function (index, value) {
            if ('[data-id=' + value.prid + ']') {
                //do something
            }
        });
    })
}

所以在这里,如果匹配了具有data-id的锚标记,则可以做某事

但不起作用。
有人可以帮我怎么做吗?

3 个答案:

答案 0 :(得分:0)

您能详细说明如何在pimg中添加border,border-danger类吗?因为只有在您的ajax请求完成之后,您才可以在DOM中进行pimg。添加小提琴将有所帮助。

答案 1 :(得分:0)

首先更正此

# Do this instead
t = ('RHAT',)
c.execute('SELECT * FROM stocks WHERE symbol=?', t)
print c.fetchone()

答案 2 :(得分:0)

首先,您添加的HTML看起来不太正确,其次,您应该在添加后添加click事件和addClass

所以您的代码应该看起来像

$.ajax({
    url: 'api'
}).done(function (e) {
    $.each(e.records, function (index, value) {
        $('#productconatiner').append('<div><a href="#" class="pimg">link</a></div>');
        $('.pimg').click(function () {
             // if you want here add class then your addClass goes here
         });
        // If you want to add class based on some condition,
        // then your addClass should goes here
    });
})