3

重複の可能性:
jQuery:子要素ではなくテキストを削除する方法

<div id="parent" style="border:2px solid red; width:300px;height:200px">
    text of parent
    <div id="child1" style="border:1px solid green; width:200px;height:80px"></div>
    <div id="child2" style="border:1px solid blue; width:200px;height:80px"></div>
</div>

上記の例では、子ノード(、)をそのままにして、"text of parent"div( )のテキストのみをクリアしたいと思います。jQueryを使用してこれを行うにはどうすればよいですか?parentchild 1child2

4

4 に答える 4

5

試す

$("#parent").contents().filter(function(){
    return (this.nodeType == 3);
}).remove();

http://jsfiddle.net/eUW47/1

于 2012-10-19T03:43:12.923 に答える
3

jQueryを使用しないでください:

var div = document.getElementById("parent");
div.firstChild.data = "";​

http://jsfiddle.net/Q8Bzv/を参照してください

于 2012-10-19T03:39:32.667 に答える
0

これを試して:

var $children = $("#parent").children();
$("#parent").html("").append($children);​
于 2012-10-19T03:42:39.847 に答える
0

一般的な「すべての子テキストノードを削除する」機能(申し訳ありませんが、jQueryはありません):

function removeTextNodes(el) {
  var nodes = el.childNodes, i = nodes.length;
  while (i--)
    if (nodes[i].nodeType == 3) el.removeChild(nodes[i]);
}
于 2012-10-19T04:05:12.433 に答える