Как найти значение на веб-странице в квадратных скобках, используя JQuery? - PullRequest
0 голосов
/ 22 октября 2009

У меня есть следующий сценарий:

У меня есть 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 ]

3 голосов
/ 22 октября 2009

Если вам не нужно знать, откуда он взялся, вы можете использовать $ ('body'). Text (), чтобы получить весь текст с сайта, а затем регулярное выражение, чтобы найти элементы.

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

Кстати, этот код не тестировался, и на больших сайтах это может занять много времени. Попробуйте максимально сузить область видимости (передавая другой элемент вместо тела)

0 голосов
/ 22 октября 2009

Вы можете получить 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...