使用JavaScript/jQuery获取以特定前缀开头的所有类名

使用JavaScript/jQuery获取以特定前缀开头的所有类名,javascript,jquery,Javascript,Jquery,我想根据特定前缀提取类,如“category lifestyle”或“category magazine” HTML标记如下所示: <article id="post-361" class="et_pb_post post-361 post type-post status-publish format-standard has-post-thumbnail hentry category-lifestyle category-magazine"> Post content

我想根据特定前缀提取类,如
“category lifestyle”
“category magazine”

HTML标记如下所示:

<article id="post-361" class="et_pb_post post-361 post type-post status-publish format-standard has-post-thumbnail hentry category-lifestyle category-magazine">

    Post content... 

</article>

发布内容。。。

您可以使用以下选择器:

console.log(
   document.querySelectorAll("article[class*='category-lifestyle']")[0].innerHTML
);

您可以使用以下选择器:

console.log(
   document.querySelectorAll("article[class*='category-lifestyle']")[0].innerHTML
);

如果您想获得所有以类别开头的类的列表,比如说,
category-
,您应该首先使用以下命令获取包含匹配类的所有元素:

然后,您应该提取这些元素的所有类,并过滤掉重复的类和那些没有以所需前缀开头的类

大概是这样的:

<article id="post-361" class="et_pb_post post-361 post type-post status-publish format-standard has-post-thumbnail hentry category-lifestyle category-magazine">

    Post content... 

</article>
const allCategoryClasses=[];
//获取所有有任何类开始的元素
//使用“类别-”:
常量元素与类别类
=document.querySelectorAll(“*[class*='category-']”);
const ElementScont=elementsWithCategoryClasses.length;
for(设i=0;i{
const present=presentClasses[classname];
presentClasses[classname]=true;
返回classname.indexOf(“category-”)==0&&!present;
}));
//这也将过滤掉重复项:
//const presentClasses={};
//所有类别分类
//.forEach((类名)=>{
//if(classname.indexOf(“category-”)==0){
//presentClasses[classname]=true;
//     }
//   });
//log(Object.keys(presentClasses))

如果您想获得所有以类别开头的类的列表,比如说,
category-
,您应该首先使用以下命令获取包含匹配类的所有元素:

然后,您应该提取这些元素的所有类,并过滤掉重复的类和那些没有以所需前缀开头的类

大概是这样的:

<article id="post-361" class="et_pb_post post-361 post type-post status-publish format-standard has-post-thumbnail hentry category-lifestyle category-magazine">

    Post content... 

</article>
const allCategoryClasses=[];
//获取所有有任何类开始的元素
//使用“类别-”:
常量元素与类别类
=document.querySelectorAll(“*[class*='category-']”);
const ElementScont=elementsWithCategoryClasses.length;
for(设i=0;i{
const present=presentClasses[classname];
presentClasses[classname]=true;
返回classname.indexOf(“category-”)==0&&!present;
}));
//这也将过滤掉重复项:
//const presentClasses={};
//所有类别分类
//.forEach((类名)=>{
//if(classname.indexOf(“category-”)==0){
//presentClasses[classname]=true;
//     }
//   });
//log(Object.keys(presentClasses))


然后搜索类列表。。。然后搜索类列表。。。可能是@Javid的副本有人解决了你的问题吗?如果是这样,请您接受最佳答案(单击分数下的复选标记)。这将帮助遇到您问题的其他用户快速找到已接受的答案,并给作者15个代表分数(:可能重复@Javid有人解决了您的问题吗?如果有,请接受最佳答案(单击分数下的复选标记)。这将帮助遇到您的问题的其他用户快速找到已接受的答案,并给作者15分(: