我可以在 CSS class 名字中使用汉字吗?

Can I use Chinese characters in CSS class names?

我的 CSS class 可以使用中文 class 名字吗?我正在尝试使用 jQuery 获取中文单词,然后使用以中文单词命名的 classes 创建 img 元素。

例如,我有一个名为 2020_Cars_哈喽_1.jpg 的文件,我创建了一个包含年份、类别(汽车)和作为专辑名称的中文单词的代码,并创建了一个 img 元素根据文件名加上 classes 以便稍后过滤图像。

我有一个示例 here,您可以在其中看到翻译成 classes 的类别没有任何问题,而 %46%bd% 是我无法成功转换的中文单词变成 class 名字。

有什么建议吗?

jQuery 代码获取文件名并将其拆分为 classes:

 $.ajax({
     url: dir,
     success: function(data){
         $(data).find("a:contains(.JPG)").each(function(){
             // will loop through
             var images = $(this).attr("href");
             var splittedName = images.split('_');
             var classesToAdd = 'thumbnailpic';
             for(var i=0;i<3;i++){
                 classesToAdd+=' '+splittedName[i];
             }

             if(years.indexOf(splittedName[0])===-1){
                 years.push(splittedName[0]);
             }
             if(categories.indexOf(splittedName[1])===-1) {
                 categories.push(splittedName[1]);
             }
             if(albums.indexOf(splittedName[2])===-1) {
                 albums.push(splittedName[2]);
             }

             $('.gallery').append('<img class="'+classesToAdd+'" src="'+dir+'/'+images+'"'+'>');

         });

         for(var a=0;a<years.length;a++){
             $('.years').append('<div id="filter-button" class="filter-select" >'+years[a]+'</div>');
         }

         for(var b=0;b<categories.length;b++){
             $('.categories').append('<div id="filter-button" class="filter-select">'+categories[b]+'</div>');
         }

         for(var c=0;c<albums.length;c++){
             $('.albums').append('<div id="filter-button" class="filter-select">'+albums[c]+'</div>');
         }
         hideBigPic();
         $('.filters').fadeIn(1000);
         $('.gallery').fadeIn(1000);
     }
 });

提前致谢!

是的,您可以使用中文字符作为 class 名称和选择器。

div {
  width: 100px;
  height: 100px;
}

.tomato {
  background: tomato;
}

.蓝色 {
  background: navy;
}
<div class="蓝色"></div>
<div class="tomato"></div>
<br>
<button onclick="console.log(document.querySelector('.蓝色'))">Find Element</button>

但看起来真正的问题是如何将 URL 编码字符(%46 等)转回真实字符,为此您需要 decodeURIComponent

console.log(decodeURIComponent('%E8%93%9D'))

希望这能回答您的所有问题。