Skip to content

nokogiri's implementation of :first is different than jQuery's. #628

Description

@bryanlarsen

jQuery's :first pseudo-selector implementation always returns only a single match. Nokogiri's implementation makes :first a synonym for :nth-child(1), which returns all elements that are the first child of their parents, which is a decidedly different result.

Since :first isn't part of the CSS standard, neither implementation is "wrong" per se, but I believe that most people would expect Nokogiri and jQuery to return the same results.

I would rather have an error message saying that :first is not supported than have it be different from jQuery.

Activity

  1. tenderlove commented on Mar 4, 2012

    @tenderlove
    Member

    Interesting. I would like to follow jquery, but changing this will definitely be not backwards compatible. Maybe for 2.0? @flavorjones wdyt?

  2. flavorjones commented on Mar 4, 2012

    @flavorjones
    Member

    Yup, better jQuery selector support is on the roadmap for 2.0. See https://github.com/tenderlove/nokogiri/blob/master/ROADMAP.md for more details.

    I'll note this issue in the roadmap.

  3. added this to the 2.0.0 milestone on Jan 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions