精華區beta Ajax 關於我們 聯絡資訊
※ 引述《s25g5d4 (死城盜賊)》之銘言:
s25g5d4:不過 現在的問題是怎麼回復被加粗的字...我累了XDDD 07/07 19:16
No:在<b>加上一個辨識用的attr,例如className之類的 07/07 21:09
No:搜尋前先反向回復,這樣呢 07/07 21:10
s25g5d4:這個方法不錯 可是.....明天吧 不然No大來~ 07/07 21:46
我來了XDD 原本s25大的部份新增註解的那一行 (只節錄部份) if(i%2==1){ var a=document.createElement("b"); a.className="boldTag4Search"; //新增一行 a.appendChild(document.createTextNode(array[i])); 按鈕的onclick事件改為呼叫 goSearch,參數不變 //---以下為新增function function goSearch(target,search_str) { reverse_str(target); search(target,search_str); } function reverse_str(target) { var tag, textNode, preText, nextText; var bt=target.getElementsByClassName('boldTag4Search'); while((tag=bt[0])) { preText=getNeighbor(tag.previousSibling); nextText=getNeighbor(tag.nextSibling); textNode=document.createTextNode((preText+tag.textContent+nextText)); tag.parentNode.replaceChild(textNode, tag); } } function getNeighbor(tag) { if(tag==null || tag.nodeName!='#text') return ''; var ret=tag.textContent; tag.parentNode.removeChild(tag); return ret; } //---新增部分結束
No:我只用FF試而已XDD 07/07 22:53
上一篇推文也適用此篇,我只用Firefox測而已 切到IE8看到不支援getElementsByClassName的錯誤我就懶了... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.252.82.111 ※ 編輯: No 來自: 111.252.82.111 (07/08 00:51)
s25g5d4:我找到支援IE的辦法了 可惜現在的問題是IE不支援getElemen 07/08 12:46
s25g5d4:tsByClassName 07/08 12:47
s25g5d4:IE出錯的原因是因為不支援split用正規表示式來保留被切的 07/08 12:48
s25g5d4:的字 而且其實我發現這樣寫沒意義 遇到疊字split就會開一 07/08 12:48
s25g5d4:個a[i]=""了~ 等等在PO上V2.0 XDD 07/08 12:49
No:大概只能自己寫IE的getElementsByClassName吧~ 07/08 12:50
s25g5d4:目前想到的辦法是跟search一樣 來個無限迴圈找子節點 07/08 12:56