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

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

包含方法與嚴格相等

包含方法與嚴格相等

泛舟湖上清波郎朗 2023-04-27 15:08:55
todo.classList === 'completed 和 有什么區別 todo.classList.contains('completed')我不確定我是否誤解了它們的用法或者我的代碼寫得不好,但我很困惑為什么后者選擇具有完整類的元素而前者選擇我的選擇標簽中的所有選項。
查看完整描述

4 回答

?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

todo.classList === 'completed'和有什么區別todo.classList.contains('completed')

classList與字符串進行比較是沒有意義的,因為它是一種類似數組的數據結構。去吧el.classList.contains(str)。

如果您確定您的元素只有一個 CSS 類,您可以這樣做el.className === 'completed',或者如果它至少保證是第一類,則el.classList[0] === 'completed'。但你不應該。

const todo = document.querySelector('div');


console.log(todo.className === 'completed'); // true

console.log(todo.classList.contains('completed')); // true

<div class="completed"></div>


查看完整回答
反對 回復 2023-04-27
?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

以下是您可以與類列表一起使用的所有方法。Contains 將返回一個布爾值,以確定元素是否具有您傳遞的類。


查看完整回答
反對 回復 2023-04-27
?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

.classList返回一個DOMTokenList。DOMTokenList與數組的工作方式類似,但沒有它的所有 等等 很酷的東西.map()。.forEach()

todo.classList === 'completed'無法像您希望的那樣將 aDOMTokenList與 a進行比較String。

todo.classList.value === 'completed'僅當唯一的類todocompleted. 這不應該被使用。

todo.classList.contains('completed')如果 will 的至少一類是 ,則將todo起作用completed。這是最好的方法。

以下是使用DOMTokenLists 時可能需要的一些技巧:

[...todo.classList]; //convert to array

todo.classList[0]; //unofficial way to get the nth class name

todo.classList.item(0); //standard way to get the nth class name


查看完整回答
反對 回復 2023-04-27
?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

您的用法不正確。


包含可以與類列表一起使用。您不能直接將條件放在類列表方法上。


   event.target.classList.add('class3');

   event.target.classList.remove('class1');  

   event.target.classList.contains('class2'); // To check  class is present or not it returns boolean value.

   event.target.classList.toggle('class4'); 


查看完整回答
反對 回復 2023-04-27
  • 4 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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