2 回答

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
是classList一個(gè)只讀屬性,它返回DOMTokenList元素的類屬性的實(shí)時(shí)集合。然后可以使用它來操作類列表。但是,由于您只想獲取此元素上的類名稱,因此您可以簡單地使用:
codeNode.classList.value
演示:
editor = document.getElementById('editor');
let codeNode = editor.querySelector('code[class*="lang"]');
let classes = codeNode ? codeNode.classList.value.split(/(\s+)/) : [];
console.log(classes.filter(c => c.startsWith("lang"))[0]);
<div id="editor"><pre><code class="language-js something"></code></pre></div>

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊
如果我正確地完成了任務(wù),那么您就只有通過其 ID 找到的一個(gè)元素,對吧?然后,您應(yīng)該獲取所有類 (getAttribute('class')) 并找到以“l(fā)ang”開頭的類。為此,我將使用如下代碼:
document.getElementById('editor').getAttribute('class').split(' ').find(element => element.indexOf('lang')===0)
請注意,它只會(huì)返回以“l(fā)ang”開頭的第一個(gè)類。如果您需要所有這些,請使用 reduce() 方法來構(gòu)建新的類數(shù)組。
- 2 回答
- 0 關(guān)注
- 186 瀏覽
添加回答
舉報(bào)