Попытка удалить тег div на основе атрибута data

<div class="row-container" data-i="'+data[i].product_id+'">
<div class="row-container" data-i="'+data[i].product_id+'">
<div class="row-container" data-i="'+data[i].product_id+'">
<div class="row-container" data-i="'+data[i].product_id+'">

Я хочу удалить контейнер-контейнер, содержащий конкретный product_id. Я знаю, что данные ( "i" ) извлекают значение, но я не знаю, куда идти оттуда.

Ответ 1

$('.row-container').filter(function(){
    return $(this).data('i') === "product_id"
}).remove();

.data позволяет вам устанавливать и получать другие переменные рядом с строками (функциями и объектами)

Вы также можете использовать это:

$('.row-container').filter('[data-i="product_id"]').remove();

Или с одним селектором:

$('.row-container[data-i="product_id"]').remove();

(Где "product_id" является заполнителем для действительного значения...)

Ответ 2

Вы можете использовать filter():

var $div = $(".row-container").filter(function() {
    return $(this).data("i") == value; // where value == product id to find
});
$div.remove();

Ответ 3

В jQuery существует селектор атрибутов, который можно использовать для поиска нужного элемента.

$('div.row-container[data-i="<value>"]');