Skip to content

DOMQuery::is() returns wrong results #198

Description

@Code-Working

Hi,
I've just found a small bug while using the DOMQuery::is() method with a tag selector.

It seems as if the is() method does not check the matched element itself but all elements below the matched DOM query.

A simple code is this:

$document = html5qp('<a class="blubb" href="blabla"><span class="test"><img><div class="element">Text</div></span></a>');
var_dump($document->find('.element')->parent()->tag());
var_dump($document->find('.element')->parent()->first()->is('img'));

While looking at the code, you would expect a result like this:

string(4) "span"
bool(false)

But, the real result is this:

string(5) "span"
bool(true)

If you remove the <img> tag from the HTML code, it returns false, so this is why I'm guessing that the is() method is traversing through the DOM like the find() method.

Regards
Code-Working

Activity

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions