如何使用jQuery查找包含特定文本的文本

时间:2016-07-19 20:10:17

标签: jquery

我想在这样的警报中获得史蒂夫的价值。

<div class="value">333</div>

以下是我的代码

var a = $("p:contains('Steve')").text();
alert('<div class="value">' + a + '</div>')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
  John: 111
  <br>Sam: 222
  <br>Steve: 333
</p>

1 个答案:

答案 0 :(得分:1)

这将起作用(假设字符和数字的元素将保持不变):

var match = $('p').text().match(/Steve\:\s(\d+)/);
$('.value').text(match[1]);
.value{
  color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
    John: 111 <br>
    Sam: 222<br>
    Steve: 333
</p>
<div class="value"></div>

我在这做什么:

  • 从段落
  • 获取文本(没有标记)
  • 将其与正则表达式匹配
    • 找到单词Steve,后跟冒号,然后抓取数字
  • 使用捕获组的内容
  • 设置div.value的内容

请注意,这只是一个简单的例子。标记和内容的更改可能会更改结果。 (例如,如果找到多个匹配项)

Here你会找到我使用的正则表达式的解释。

<强> Example