Выбор jQuery сначала обозначает буквами?

Я просто пытаюсь заставить jQuery определять первую букву абзаца. Как я сделал бы это?

Например, у меня есть страница со многими paragrahs на странице. Я хотел бы только абзацы, начинающие с указанной буквы быть данными класс "текущий" и все другие для сокрытия. Я в значительной степени знаю, как добавить класс и скрыть другие, но, я не могу заставить jQuery распознавать первую букву.

Во-вторых, действительно ли возможно вытянуть эту 'первую букву' переменная от строки URL?

Например, Страница 1 - существует список букв. Пользователь нажимает 'B', и URL

http://domain.com/page2.html?letter=b

И page2 берет ту переменную (b) и применяет ее к JQuery, показывая только те абзацы

16
задан BoltClock 25 March 2011 в 19:08
поделиться

4 ответа

Попробуйте:

jQuery('p').each(function(){     
    if(jQuery(this).text().substr(0,1).toUpperCase() == 'B'){
         jQuery(this).addClass('someclass')
    }
   })

Вы можете использовать PHP для очистки переменной и распечатать ее в JS:

<script type="text/javascript">
var letter = '<?php  echo (strlen($_GET['letter']) == 1) ? $_GET['letter'] : ''; ?>'
</script>

Или просто взять ее с помощью document.location и извлечь.

21
ответ дан 30 November 2019 в 15:43
поделиться

Чтобы скрыть теги

, текст которых не начинается с буквы B :

$('p').filter(function() {
  return $(this).text().charAt(0).toUpperCase() != 'B';
}).hide();
8
ответ дан 30 November 2019 в 15:43
поделиться
$('p').hide().filter(function(){return $(this).text().match(/^b/i);}).show();

или с отступом

$('p').hide()
      .filter(
              function(){
                         return $(this).text().match(/^b/i);
                        }
             )
      .show();

удалите i в совпадении, если хотите, чтобы учитывайте регистр ..

и вы можете посмотреть http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html о том, как чтобы получить параметры URL ..

5
ответ дан 30 November 2019 в 15:43
поделиться

Если вы хотите использовать JavaScript для извлечения буквы из строки запроса URL, запустите регулярное выражение на window.location.search:

var letterParam = window.location.search.match(/letter=([a-z])/i), letter;

if (letterParam)
{
    letter = letterParam[1];
}

Чтобы найти абзацы, начинающиеся с этой буквы, используйте метод charAt() в строках JavaScript:

if (letter)
{
    $('p').each(function()
    {
        if ($(this).text().charAt(0).toUpperCase() == 'B')
        {
            // Apply the CSS class or change the style...
        }
    });
}
12
ответ дан 30 November 2019 в 15:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: