javascript - 如果具有特定文本的 div 不存在,则显示空数据
问题描述
我有这样的元素:
<input type="text" onkeyup="filter()" id="filter_data">
<div id="body">
<div class="child"> Text 1 </div>
<div class="child"> Text 2 </div>
<div class="child"> Text 1 </div>
</div>
我想通过输入值搜索 div 文本。
我可以搜索数据,但是.. 如果所有子 div 没有任何数据,如输入值,如何在 div 正文中显示“未找到数据”。
解决方案
您可以添加一个增量变量(result
在我的示例中)以了解是否找到任何数据然后show/hide
消息:
if( result === 0 ){
$('.empty_div').removeClass('hide');
}else{
$('.empty_div').addClass('hide');
}
function filter() {
var value = $('#filter_data').val();
var div_class = $('#body').find(".child");
var result = 0;
div_class.hide();
div_class.each(function() {
if ($(this).text().toUpperCase().indexOf(value.toUpperCase()) != -1) {
$(this).show();
result++;
}
});
if (result === 0) {
$('.empty_div').removeClass('hide');
} else {
$('.empty_div').addClass('hide');
}
}
.hide {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" onkeyup="filter()" id="filter_data">
<div id="body">
<div class="child"> Text 1 </div>
<div class="child"> Text 2 </div>
<div class="child"> Text 1 </div>
<div class="empty_div hide">No Data Found</div>
</div>
推荐阅读
- c# - 显示数据库中的图片
- spring-boot - 使用 Spring Boot liquibase 测试不适用于多个数据源
- reactjs - 将数据推送到 Firebase 的问题
- laravel - laravel 验证检查多维数组
- python - 如何根据 Pandas DataFrame 中其他列的值创建新列
- c++ - 抛出异常:读取访问冲突。**this** 是 nullptr。发生了
- sql - 返回 BAQ 中的最新记录
- java - 电报机器人。SenDocument pdf
- php - PHP:从数组中删除唯一值
- sql-server - 在查询中运行注释时出现错误 ExecuteReader:CommandText