我有以下情况:
我在页面上有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>
...并转到页面的另一部分,让我们在标题中说。
这有多难?
答案 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的不同部分的舒适程度。