HTML:检测 Unicode 并应用 Class
HTML: Detect Unicode and Apply Class
有没有办法检测html文件中字符的unicode并将class应用到最接近的div/span?
例如,如果有一个 div 包含英文(拉丁字符),我想将 'en' class 应用到那个 div。如果有一个 div 包含日语字符,我想将 'jp' class 应用到那个 div.
(如果两者都有,我猜class两个都可以应用)。
使用divs[i].textContent.match
For japanese unicode
var divs = document.querySelectorAll("div");
for (var i = 0; i < divs.length; ++i) {
if(divs[i].textContent.match(/[\u0020-\u007F]+/g)){
divs[i].classList.add('eng');
}
else if(divs[i].textContent.match(/[\u3041-\u3096]+/g)){
divs[i].classList.add('jp');
}
}
.eng{
color:red;
}
.jp{
color:blue;
}
<div>english</div>
<div>良い一日を</div>
编辑
查询页面中的所有标签使用:document.querySelectorAll("body *");
var elements = document.querySelectorAll("body *");
for (var i = 0; i < elements.length; ++i) {
if(elements[i].textContent.match(/[\u0020-\u007F]+/g)){
elements[i].classList.add('eng');
}
else if(elements[i].textContent.match(/[\u3041-\u3096]+/g)){
elements[i].classList.add('jp');
}
}
.eng{
color:red;
}
.jp{
color:blue;
}
<div>english</div>
<div>良い一日を</div>
<span>english span</span>
<label>良い一日を</label>
有一个script
property in Unicode regexes。您可以写 /^(\p{script=Han}|\p{script=Hiragana}|\p{script=Katakana})+$/
来匹配日语写作中出现的字符。
有没有办法检测html文件中字符的unicode并将class应用到最接近的div/span?
例如,如果有一个 div 包含英文(拉丁字符),我想将 'en' class 应用到那个 div。如果有一个 div 包含日语字符,我想将 'jp' class 应用到那个 div.
(如果两者都有,我猜class两个都可以应用)。
使用divs[i].textContent.match
For japanese unicode
var divs = document.querySelectorAll("div");
for (var i = 0; i < divs.length; ++i) {
if(divs[i].textContent.match(/[\u0020-\u007F]+/g)){
divs[i].classList.add('eng');
}
else if(divs[i].textContent.match(/[\u3041-\u3096]+/g)){
divs[i].classList.add('jp');
}
}
.eng{
color:red;
}
.jp{
color:blue;
}
<div>english</div>
<div>良い一日を</div>
编辑
查询页面中的所有标签使用:document.querySelectorAll("body *");
var elements = document.querySelectorAll("body *");
for (var i = 0; i < elements.length; ++i) {
if(elements[i].textContent.match(/[\u0020-\u007F]+/g)){
elements[i].classList.add('eng');
}
else if(elements[i].textContent.match(/[\u3041-\u3096]+/g)){
elements[i].classList.add('jp');
}
}
.eng{
color:red;
}
.jp{
color:blue;
}
<div>english</div>
<div>良い一日を</div>
<span>english span</span>
<label>良い一日を</label>
有一个script
property in Unicode regexes。您可以写 /^(\p{script=Han}|\p{script=Hiragana}|\p{script=Katakana})+$/
来匹配日语写作中出现的字符。