亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

查找以“lang”開頭的類(不是節點)

查找以“lang”開頭的類(不是節點)

HUH函數 2023-11-13 14:39:48
在下面的 HTML 示例中,我想獲取元素中使用的語言code:<div id="editor"><pre><code class="language-js something"></code></pre></div>我可以使用以下代碼獲取類列表:editor = document.getElementById('editor');let codeNode = editor.querySelector('code[class*="lang"]');console.log (codeNode.classList);但是,現在我很困惑,我不知道如何上課?我期望一個包含“language-js”的字符串我不想使用 jQuery。
查看完整描述

2 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

是classList一個只讀屬性,它返回DOMTokenList元素的類屬性的實時集合。然后可以使用它來操作類列表。但是,由于您只想獲取此元素上的類名稱,因此您可以簡單地使用:


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>


查看完整回答
反對 回復 2023-11-13
?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

如果我正確地完成了任務,那么您就只有通過其 ID 找到的一個元素,對吧?然后,您應該獲取所有類 (getAttribute('class')) 并找到以“lang”開頭的類。為此,我將使用如下代碼:

document.getElementById('editor').getAttribute('class').split(' ').find(element => element.indexOf('lang')===0)

請注意,它只會返回以“lang”開頭的第一個類。如果您需要所有這些,請使用 reduce() 方法來構建新的類數組。


查看完整回答
反對 回復 2023-11-13
  • 2 回答
  • 0 關注
  • 170 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號