Jquery select first letter?

后端 未结 5 1181
时光说笑
时光说笑 2020-12-31 05:24

I am simply attempting to get jquery to identify the first letter of a paragraph. How would I do this?

For example, I have a page with a number of paragrahs on a pa

相关标签:
5条回答
  • 2020-12-31 05:29
    $('p').hide().filter(function(){return $(this).text().match(/^b/i);}).show();
    

    or indented

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

    remove the i in the match if you want it to be case sensitive..

    and you can look at http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html on how to get the url parameters..

    0 讨论(0)
  • 2020-12-31 05:39

    I don't know if its relevant here, but I am using this to style the first character.

    $(".menu ul li.page_item a").each(function() {
    var text = $(this).html();
    var first = $('<span>'+text.charAt(0)+'</span>').addClass('caps');
    $(this).html(text.substring(1)).prepend(first);
    });
    

    cheers!

    0 讨论(0)
  • 2020-12-31 05:43

    To hide the <p> tags whose text does not start with the letter B:

    $('p').filter(function() {
      return $(this).text().charAt(0).toUpperCase() != 'B';
    }).hide();
    
    0 讨论(0)
  • 2020-12-31 05:47

    If you'd like to use JavaScript to grab the letter from the URL query string, run a regular expression on window.location.search:

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

    To match paragraphs starting with that letter, use the charAt() method in JavaScript strings:

    if (letter)
    {
        $('p').each(function()
        {
            if ($(this).text().charAt(0).toUpperCase() == 'B')
            {
                // Apply the CSS class or change the style...
            }
        });
    }
    
    0 讨论(0)
  • 2020-12-31 05:52

    Try:

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

    You can use PHP to clean the variable and the print it in JS:

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

    Or just grab it with document.location and extract it.

    0 讨论(0)
提交回复
热议问题