我在Google或這裏找不到任何關於此的內容。
我有一個div與它,一些文字和一些HTML這樣:
<div id="test-div">
http://<strong>somewebsite.com</strong>/big/long/unfriendly/path/
</div>
我想要做的,是每一個斜槓後添加<wbr>
。 (因爲這個值不會換行,弄亂我的表格)。做一個簡單的替換$('#test-div').html()
也將與強標籤混淆,所以這不是一個選項。
我想用$('#test-div').contents()
過濾掉文本部分(遞歸)將工作。但我似乎無法編輯返回的單個位。我希望這改變http://部分:
$('#test-div').contents().first().text("something");
然而它什麼也沒做。我知道我有我的導航權,因爲這樣的事情:
$('#test-div').contents().first().wrap("<b></b>");
確實有效。
爲什麼我不能更改文本位? (一個更優雅的解決最初的問題也將是巨大的)
'.text'可能只適用於元素節點。這工作正常:'$('#test-div')。contents()。first()[0] .nodeValue =「something」;'http://jsfiddle.net/2Gz8p/ –