Skip to content

DOMQuery::is() returns wrong results #198

@Code-Working

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

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