发布
社区首页 >问答首页 >选择p标记,但排除某些子标记。

选择p标记,但排除某些子标记。
EN

Stack Overflow用户
提问于 2016-11-21 22:27:30
回答 1查看 367关注 0票数 1

我使用jquery来选择一段副本:

代码语言:javascript
代码运行次数:0
复制
str = '.main-content p:nth-child('+num+')';
string = jQuery(str).html();

(num在其他地方宣布,不是一个问题)。

这将选择p标记中的所有内容(很明显),但是我选择的p标记嵌套了a标记和强标记。是否有选择p标记的方法,例如排除强标记。我尝试了以下代码:

代码语言:javascript
代码运行次数:0
复制
str = '.main-content p:nth-child('+num+') :not(strong)';

但这将选择所有子元素(不包括强元素),但不选择实际p标记的内容。

任何想法都欢迎!

提前感谢!

编辑-示例请求:

代码语言:javascript
代码运行次数:0
复制
<p><strong>Content that I want to ignore</strong> This is some content which I would like to include. <a href="#">also keep this</a></p>

最好还这个:

代码语言:javascript
代码运行次数:0
复制
<p>This is some content which I would like to include. <a href="#">also keep this</a></p>

或者这个:

代码语言:javascript
代码运行次数:0
复制
This is some content which I would like to include. <a href="#">also keep this</a>
EN

回答 1

Stack Overflow用户

发布于 2016-11-21 22:51:00

您可以使用正则表达式:

代码语言:javascript
代码运行次数:0
复制
var str = $('p').html();
str = str.replace(/<strong>[^<]*<\/strong>/gi,'');
console.log(str.trim());
代码语言:javascript
代码运行次数:0
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p><strong>Content that I want to ignore</strong> This is some content which I would like to include. <a href="#">also keep this</a></p>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40730556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档