Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查元素是否包含特定的数据集项_Javascript - Fatal编程技术网

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}]`));
可能的选择器列表位于中


有一种方法,尽管其他人建议只使用空格分隔的列表