如何使用JQuery在方括号中的网页中查找值?

时间:2009-10-22 06:32:11

标签: javascript jquery regex

我有以下情况:

我在页面上有5个可能的值:

[value 1]
...
[value 5]

我想要做的是抓住每个值和括号......

示例内容:

<p>velit, sed quia non numquam eius modi tempora incidunt ut labore et 
dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, 
quis nostrum exercitationem ullam [value 1] corporis suscipit laboriosam, nisi 
ut aliquid ex ea commodi consequatur? Quis autem vel eum iure 
reprehenderit qui in ea voluptate</p>

...并转到页面的另一部分,让我们在标题中说。

这有多难?

2 个答案:

答案 0 :(得分:3)

如果您不需要知道它来自哪里,您可以使用$('body')。text()从网站上获取所有文本,然后使用regexp查找元素。

var text = $('body').text();
var m = new Regexp('\[([^\]])+\]').exec();
$.each(m, function(index, value){
    //add value to header
}

顺便说一句,此代码未经过测试,在大型网站上这可能需要很长时间。尝试尽可能缩小范围(通过传递另一个元素而不是正文)

答案 1 :(得分:0)

你可以获取html内容,并对该字符串执行正则表达式,或者因为你只有5种可能性,你可以用更简单的jQuery方式来实现:

var possibilities = ['[value 1]', '[value 2]', '[value 3]', '[value 4]', '[value 5]'];

for(var i in possibilities){
  if ( $(":contains('" + possibilities[i] + "')").length ) {
    alert(possibilities[i] + ' was found');
  }
}

这可能是最简单的解决方案,取决于你对jQuery和regex的不同部分的舒适程度。