-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Guidelines
- I understand that if I fail to provide all required details, this issue may be closed without review.
Description of the bug
As demonstrated by this failing test:
public function testIsDepth() : void
{
$dom = html5qp('<p><span>foo</span></p>');
self::assertTrue($dom->is('p'), "Should match element held directly in the collection");
self::assertFalse($dom->is('span'), "Should not match a descendant of element held in the collection");
}->is($selector) will return true if any descendant of an element held in the collection matches the selector. This diverges from jQuery specification, as evidenced by this filddle, and IMO that makes ->is() useless. At the very least, the original functionality of jQuery's .is() should be provided somehow.
QueryPath version
3.2.3
PHP Version and environment (server type, cli provider etc., enclosing libraries and their respective versions)
8.3.4 (cli) on up-to-date Arch Linux
Minimal reproducible PHP+HTML snippet to replicate bug
echo html5qp('<p><span>foo</span></p>')->is('span') ? "Is, but shouldn't be\n" : "Isn't, and that's fine\n";jakejackson1
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working