要创建一个搜索框来搜索属性值,并根据用户输入隐藏或显示元素,可以通过以下步骤实现:
<input>
元素,元素可以使用<div>
、<span>
等。document.getElementById()
或其他选择器获取搜索框的值。document.querySelectorAll()
或其他选择器获取需要隐藏或显示的元素。然后,遍历这些元素,比较元素的属性值与搜索框的值是否匹配。style.display
属性为none
(隐藏)或block
(显示)。input
事件),当用户输入时触发搜索功能。下面是一个示例代码:
HTML代码:
<input type="text" id="searchBox" placeholder="输入搜索关键字">
<div class="element" data-attribute="value1">元素1</div>
<div class="element" data-attribute="value2">元素2</div>
<div class="element" data-attribute="value3">元素3</div>
CSS代码:
#searchBox {
width: 200px;
border: 1px solid #ccc;
}
.element {
display: block;
margin-bottom: 10px;
}
JavaScript代码:
// 获取搜索框和元素
var searchBox = document.getElementById('searchBox');
var elements = document.querySelectorAll('.element');
// 监听搜索框的输入事件
searchBox.addEventListener('input', function() {
var keyword = searchBox.value.toLowerCase(); // 获取搜索框的值并转为小写
// 遍历元素并匹配属性值
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
var attributeValue = element.getAttribute('data-attribute').toLowerCase(); // 获取元素的属性值并转为小写
// 隐藏或显示元素
if (attributeValue.indexOf(keyword) !== -1) {
element.style.display = 'block'; // 显示元素
} else {
element.style.display = 'none'; // 隐藏元素
}
}
});
这样,当用户在搜索框中输入关键字时,会根据输入的关键字隐藏或显示匹配的元素。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云