如果评估为空白,请删除元素

时间:2015-02-19 17:13:34

标签: jquery

如果元素在单击按钮后检查其当前状态是否为空白,如何删除该元素?

在我的情况下,我在自己的waypoint-container div中有4个输入元素。按下保存按钮时,我想检查它们中是否有空。空输入元素将被删除。但是,无法删除第一个输入元素。

到目前为止,这是我的代码:

$(document).ready(function () {
    $('#save-waypoint-button').click(function () {
        checkIfWaypointBlank()
    });
});

function checkIfWaypointBlank() {
    $('.waypoint-container input').each(function (index, element) {
        if (index > 0 && $('$this:text').is(":empty")) {
            $(this).parent('div').remove();
        }
    });
}

Fiddle here

2 个答案:

答案 0 :(得分:2)

您的代码存在两个问题:

  1. 您的选择器缺少.$('.waypoint-container input')
  2. 您正在引用它,在每个函数上下文中都是全局的。

    var list = $('.waypoint-container input');
    console.log(list); //Just to ensure you are getting items...
    list.each(function (index, element) {
        if(!index) return;
        var item = $(element);
        if(item.text().trim() == '')
            item.parent().remove();
    });
    

    }

  3. 我更新了你的jsfiddle:http://jsfiddle.net/m1m118kd/4/

答案 1 :(得分:1)

尝试使用$(this).val()

function checkIfWaypointBlank() {
    $('.waypoint-container input').each(function (index, element) {
        if (index > 0 && $(this).val() == '') {
            $(this).parent('div').remove();
        }
    });
}

<强> JSFIDDLE Demo