jQuery or JavaScript equivalent of PHP strpos function to find string on a page
Is there an equivalent function in JavaScript or jQuery similar to strpos
in PHP?
I want to locate a string inside an element on a page. The string I'm looking f开发者_JAVA百科or is:
td class="SeparateColumn"
I would like something where I can run it like this to find:
if $("anystring")
then do it
I assume you mean check whether a string contains a character, and the position in the string - you'd like to use the indexOf()
method of a string in JS. Here are the relevant docs.
Okay, so you'd like to search the whole page! The :contains()
selector will do that. See the jQuery docs for :contains
.
To search every element in the page, use
var has_string = $('*:contains("search text")');
If you get jQuery elements back, then the search was a success. For example, on this very page
var has_string=$('*:contains("Alex JL")').length
//has_string is 18
var has_string=$('*:contains("horsey rodeo")').length
//has_string if 0. So, you could an `if` on this and it would work as expected.
You don't need jquery for this -- plain old Javascript will do just fine, using the .indexof()
method.
However if you really want an exact syntax match for PHP's strpos(), something like this would do it:
function strpos (haystack, needle, offset) {
var i = (haystack+'').indexOf(needle, (offset || 0));
return i === -1 ? false : i;
}
Note: This function taken from here: http://phpjs.org/functions/strpos:545
JSFiddle
精彩评论