首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何选择只包含一行的所有<pre>?

如何选择只包含一行的所有<pre>?
EN

Stack Overflow用户
提问于 2012-04-20 06:12:55
回答 4查看 138关注 0票数 1

$('pre:contains("\n")')将选择至少包含一个换行符的所有<pre>

如何选择不包含换行符的所有<pre>,或者在末尾只包含一个换行符?

最快的方法是什么?

匹配

代码语言:javascript
运行
复制
<pre>A</pre>
代码语言:javascript
运行
复制
<pre>B
</pre>

不匹配

代码语言:javascript
运行
复制
<pre>C

</pre>
代码语言:javascript
运行
复制
<pre>

D</pre>
代码语言:javascript
运行
复制
<pre>

E
</pre>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-20 07:17:14

也许简单的方法就足够了,修改文本,然后检测换行符:

代码语言:javascript
运行
复制
var myList = $('pre').filter(function(index) {
    var val = $(this).text().trim();
    return val.indexOf('\n') == -1;
});

$.each(myList, function() {
    alert($(this).text());
});​

样本数据:

代码语言:javascript
运行
复制
<pre>hello</pre>

<pre>great
</pre>

<pre>you
say
</pre>

<pre>

yes</pre>

<pre>

heila
</pre>

<pre>not
included</pre>

<pre>included</pre>
​

产出:

代码语言:javascript
运行
复制
 hello
 great
 yes
 heila
 included

现场测试:http://jsfiddle.net/Anb6q/1/

票数 2
EN

Stack Overflow用户

发布于 2012-04-20 06:16:48

这个怎么样:

$('pre:not(:contains("\n"))')

票数 2
EN

Stack Overflow用户

发布于 2012-04-20 06:31:16

代码语言:javascript
运行
复制
var myList = $('pre').filter(function(index) {
    var val = $(this).text();
    return val.substring(0, val.length -2).indexOf('\n') === -1;
});

小提琴在这里...

编辑迈克尔·布恩注记

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

https://stackoverflow.com/questions/10241149

复制
相关文章

相似问题

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