如果元素在单击按钮后检查其当前状态是否为空白,如何删除该元素?
在我的情况下,我在自己的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();
}
});
}
答案 0 :(得分:2)
您的代码存在两个问题:
.
:$('.waypoint-container input')
您正在引用它,在每个函数上下文中都是全局的。
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();
});
}
我更新了你的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 强>