在javascript中,當使用for循環(huán)處理如富文本的一些數(shù)據(jù)時,發(fā)現(xiàn)有時不能使用replace()方法,提示 ”replace is not a function“ , 也就是replace()方法在for循環(huán)下失去了作用。
這里我們再在看一下官方對replace方法的定義:
語法:”string.replace(searchvalue,newvalue);” 第1個參數(shù):“searchvalue 必傳 規(guī)定字符串或正則表達式匹配的子串“
也就是replace方法中第1個參數(shù)必須傳遞字符串或者是正則子串,然后再輸出一下for循環(huán)中元素的數(shù)據(jù)類型 console.log(typeof element[i]) 如果輸出的object, 那說明問題出在給replace傳遞參數(shù)的數(shù)據(jù)類型不對,是不是我們可以把for循環(huán)中element[i]轉成字符串再傳遞,理論是可以的,但是為了避免更多的坑,建議直接使用jQuery中的each循環(huán)來替代for循環(huán),然后再使用replace()方法,這樣問題就一下解決了。
掃一掃 加微信咨詢