Javascript 检查元素是否包含特定的数据集项
我想为一些项目创建一个过滤器。当用户选择标记时,相关项目将被记录 我相信下面的方法不起作用,因为Javascript 检查元素是否包含特定的数据集项,javascript,Javascript,我想为一些项目创建一个过滤器。当用户选择标记时,相关项目将被记录 我相信下面的方法不起作用,因为[数据标记]项之间有空格。我不能改变这一点,所以过滤器必须对此有弹性。我该怎么办 函数filterTag(){ const tags=Array.from(document.querySelectorAll('.filter tags li'); tags.forEach((tag)=>{ tag.addEventListener(“单击”,函数(){ const selectedTag=this.
[数据标记]
项之间有空格。我不能改变这一点,所以过滤器必须对此有弹性。我该怎么办
函数filterTag(){
const tags=Array.from(document.querySelectorAll('.filter tags li');
tags.forEach((tag)=>{
tag.addEventListener(“单击”,函数(){
const selectedTag=this.dataset.tag
const relatedProjects=Array.from(document.querySelectorAll(`[data tags=${selectedTag}]`));
console.log(相关项目)
})
})
}
filterTag()代码>
.filter标签li{
光标:指针;
}
div[数据标签]{
边框:1px纯黑;
保证金:0.3em;
}
- 工业
- 商业
展馆
项目1
项目2
项目3
项目4
项目5
由于属性值是以空格分隔的列表,因此可以使用[data tags~=${selectedTag}]
选择器:
const relatedProjects = Array.from(document.querySelectorAll(`[data-tags~=${selectedTag}]`));
可能的选择器列表位于中
有一种方法,尽管其他人建议只使用空格分隔的列表