没有p标签的Div文本选择器

时间:2011-11-27 10:30:04

标签: javascript jquery jquery-selectors

此div中的文本是否有选择器而不将其包装在<p>标记中,或者可以使用jquery / javascript查找所有文本并将其包装在<p>标记中?

<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>

或者我可以用CSS选择只有没有HTML标记的文本来设置它吗?

1 个答案:

答案 0 :(得分:6)

您可以使用.contents选择所有“裸文本”(文本节点),之后您应使用.nodeType === 3进行过滤(过滤掉文本节点, a nodeType of 3)。

例如:http://jsfiddle.net/ZAYD2/

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

然后,您可以使用CSS来设置所有<p>元素的样式,例如。