2011-11-27 8 views
4

<p>タグでラップせずに、このdiv要素内のテキストのためのセレクタがありますか、すべてのテキストを検索し、<p>タグでラップするためにjqueryの/ JavaScriptで可能ですか?本部テキストセレクタ

<div class="content"> 
Some content in here. 
<img src="image" alt="image" /> 
</div> 

私は追加のHTMLマークアップを適用することはできませんし、イメージをイメージと異なるスタイルにしたいと思っています。

私はどちらかの希望になることを<p>でテキストをラップする:

<div class="content"> 
<p>Some content in here.</p> 
<img src="image" alt="image" /> 
</div> 

または私はHTMLマークアップのない単なるテキストCSS選択して何とかそれをスタイルすることができますか?

+0

あなたがHTMLマークアップを変更オフに容易になるだろう。 – Tomalak

+0

あなたはマークアップと一緒にdiv内の純粋なテキストが必要なのですか? – Marwan

+0

divに複数のテキストノードが含まれている場合、それらの各ノードが段落に折り返されると思いますか? – mrtsherman

答えて

6

はあなたが.nodeType === 3を使用してフィルタリングするべき後.contentsと、(3のnodeTypeを持つテキストノードを、フィルタリング)(テキストノードがある)すべての「裸のテキスト」を選択することができます。

例えば:http://jsfiddle.net/ZAYD2/

$("div").contents().filter(function() { 
    return this.nodeType === 3; 
}).wrap("<p>"); 

たとえば、CSSを使用してすべての<p>要素をスタイルすることができます。

+0

素晴らしい!私はより多くのテキストノードを見ていきます。ありがとう、pimvdb。 – uriah