tft每日頭條

 > 生活

 > dom中的元素節點

dom中的元素節點

生活 更新时间:2025-01-09 03:18:50

内部會調用toString方法,将設置的對象轉換為字符串添加給相應的屬性;

這個問題呢,是通過jQuery的each方法中,回調函數的this指向問題而來;

我們知道,回調函數中的this如果指向的是基本數據類型,那麼系統會自動将這個基本數據類型的值包裝為對應的對象類型;

就比如:

dom中的元素節點(DOM元素屬性值如果設置為對象)1

數組裡面存的是string類型的值,然後jq實例調用each方法,打印的this如下圖所示:

dom中的元素節點(DOM元素屬性值如果設置為對象)2

this指向的基本數據類型的值被轉換為了String類型;

但是這裡說的不是這個問題,而是和這個問題類似,我們在給DOM元素設置屬性值的時候,如果設置的是對象呢?

獲取頁面中的span,然後給兩個span分别設置屬性‘a’,屬性值為兩個對象:

dom中的元素節點(DOM元素屬性值如果設置為對象)3

第一個屬性值:内部調用toString方法将{a : 'a',b : 'b'}對象轉換為字符串設置;

第二個屬性值:同理,也是調用toString方法将String對象的實例轉換為字符串設置;

那麼,我們在回到jQuery中,

如果用each方法給DOM添加屬性值;

推薦下我的前端群:524262608,不管你是小白還是大牛,小編我都歡迎,不定期分享幹貨,包括我自己整理的一份前端資料和零基礎入門教程,歡迎初學者和在進階中的小夥伴。

jQuery中的each方法的回調函數中的this,如果指向的是字符串類型的數據,那麼在回調函數中操作this給元素添加屬性值,是沒有問題的,因為this即使被轉換為了相應的對象類型數據,那麼再給DOM元素添加的時候,内部會調用toString方法在對象類型的數據轉換為字符串添加,就相當于‘又折騰回來了’;

那麼,如果this指向的不是字符串類型數據,那麼就操作參數吧~

關注‘學習web前端’,每天幹貨分享,關注後回複‘學習web前端’領取視頻學習資料

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved