2013-11-15 70 views
0

我有一個討厭的小角色卡2周的div之間的單個字符:除去2周的div

<div id="someID1">stuff</div>x<div id="someID2">more stuff</div> 

有沒有辦法讓「X」這些div出來之間? 這是一個臨時修復之前永久性的修復才能生效:-(

+2

什麼能夠防止您簡單地編輯HTML文件並刪除該字符?它是由某種網絡語言(PHP,JSP,ASP,Python等)生成的,也顯示了代碼。 – luiges90

+0

已經做到了,但在服務器端更改發生之前,我需要暫時修復,這是一個很長的故事:-( – vector

回答

6

如果你想通過JS做一個速戰速決,嘗試:

document.getElementById('someID1').nextSibling.nodeValue= ''; 

$('#someID1')[0].nextSibling.nodeValue= ''; 

Demo

+1

設置[nodeValue](http://www.w3.org/TR/DOM) -Level-3-Core/core.html#ID-F68D080)可能會工作,但它應該是一個字符串,所以''''(空字符串)似乎更合適 – RobG

+0

@RobG我認爲將nodevalue設置爲null不應該有任何問題。 – PSL

+0

做了它,但用''而不是null,結果ie8顯示爲'null',但表現正確與'':-)非常感謝。 – vector

3

PSL的解決方案是可以的,但可能有點特定。您可能會更好地測試節點並刪除所有文本節點,直到下一個元素,例如:

function clearSiblingTextNodes(id) { 
    var el = document.getElementById(id); 

    while (el.nextSibling && el.nextSibling.nodeType == 3) { 
    el.parentNode.removeChild(el.nextSibling); 
    } 
} 
+1

嗯。我最初想到了這種方式,但是OP想要一個快速修復(因爲他已經在服務器上修復了這個問題),所以不打擾NodeType的測試...... :) – PSL