Javascript jQuery find()&;动态元素上的each()
我有一个Javascript jQuery find()&;动态元素上的each(),javascript,jquery,html,Javascript,Jquery,Html,我有一个元素,它包含多个使用jQuery/Ajax动态填充的其他,我试图运行以下代码,但find()无法获取其中任何一个 这是填充数据之前的HTML样板 <input type="text" id="inv-filter" class="form-control"> <div class="row itemList" style="margin-right: -2px;margin-left:-2px;"> </div> 我在控制台调试器中运行了多个测试,
元素,它包含多个使用jQuery/Ajax动态填充的其他
,我试图运行以下代码,但find()
无法获取其中任何一个
这是填充数据之前的HTML样板
<input type="text" id="inv-filter" class="form-control">
<div class="row itemList" style="margin-right: -2px;margin-left:-2px;">
</div>
我在控制台调试器中运行了多个测试,例如
$('.itemList').length()
等。。但似乎找不到任何结果&在我的输入字段中输入文本时,什么都没有发生您能将代码转换为工作片段,或创建一个小提琴吗?它将帮助人们快速解决您的问题。sell item
或shop item
也$(this)。数据('hash')。toLowerCase()
,而不是$(this)。数据('hash')。text().toLowerCase()
数据('hash')返回一个没有text()
方法的字符串
$sellContainer.find('.sell-item').each(function() { //replace sell-item with shop-item
if (!$(this).hasClass('selected') && $(this).data('hash').text().toLowerCase().includes(search)) {
$(this).show();
} else {
$(this).hide();
}
});
$('#inv-filter').keyup(function() {
var search = $(this).val().toLowerCase();
var $sellContainer = $('.itemList');
if (search.trim() === '') {
$sellContainer.find('.shop-item').show();
$sellContainer.find('.shop-item.selected').hide();
return;
}
$sellContainer.find('.sell-item').each(function() {
if (!$(this).hasClass('selected') && $(this).data('hash').text().toLowerCase().includes(search)) {
$(this).show();
} else {
$(this).hide();
}
});
});
$sellContainer.find('.sell-item').each(function() { //replace sell-item with shop-item
if (!$(this).hasClass('selected') && $(this).data('hash').text().toLowerCase().includes(search)) {
$(this).show();
} else {
$(this).hide();
}
});