I am trying to implement search functionality for a list using jQuery. I am using following line to filter matching elements
$(list).find("a:contains(" + filter + ")").parent().show();
This shows all the elements which contain "filter" text. I want to show only those elements in which words start with "filter" text.
I am thinking of using regular expression for this.
Is there any way to pass regular expression to :contains
selector? Or can this be achieved in any other way?
You need to use .filter()
, but the good news is you don't need a regular expression:
$(list).find("a").filter(function () {
return (this.textContent || this.innerText || '').indexOf(filter) === 0;
}).parent().show();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With