jQuery或相当于JavaScript的PHP strps函数,用于在页面上查找字符串
JavaScript或jQuery中是否有类似于PHP中的jQuery或相当于JavaScript的PHP strps函数,用于在页面上查找字符串,javascript,jquery,Javascript,Jquery,JavaScript或jQuery中是否有类似于PHP中的strpos的等效函数 我想在页面上的元素中找到一个字符串。我要寻找的字符串是: td class="SeparateColumn" 我想要一些我可以像这样运行的东西来找到: if $("anystring") then do it 我假设您的意思是检查字符串是否包含字符,以及字符串中的位置-您希望使用JS中字符串的indexOf()方法。这是你的电话号码 好的,那么你想搜索整个页面!:contains()选择器将执行此操作。有
strpos
的等效函数
我想在页面上的元素中找到一个字符串。我要寻找的字符串是:
td class="SeparateColumn"
我想要一些我可以像这样运行的东西来找到:
if $("anystring")
then do it
我假设您的意思是检查字符串是否包含字符,以及字符串中的位置-您希望使用JS中字符串的
indexOf()
方法。这是你的电话号码
好的,那么你想搜索整个页面!
:contains()
选择器将执行此操作。有关:包含,请参见
要搜索页面中的每个元素,请使用
var has_string = $('*:contains("search text")');
如果返回jQuery元素,那么搜索就成功了。例如,就在这一页上
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.
这不需要jquery——使用.indexof()
方法,简单的旧Javascript就可以了
但是,如果您真的希望PHP的strpos()具有精确的语法匹配,可以使用以下方法:
function strpos (haystack, needle, offset) {
var i = (haystack+'').indexOf(needle, (offset || 0));
return i === -1 ? false : i;
}
注意:此函数取自此处:
您使用的是纯Javascript中已经存在的一个?我明白了,所以您想在整个页面中搜索字符串?当我尝试在jQuery中使用时,我得到“indexOf不是一个函数”是否还有其他方法可以使用Javascript执行此操作?救命啊!当然,在例子中加入“马术竞技”的行为使得最后一部分在技术上是错误的,但我们不会陷入这个难题;如何检查该元素上是否有特定的字符串page@Tomif($('td.SeparateColumn:contains(“字符串”)){/*dosomething*/}
应该这样做。谢谢,但这失败了:if(jQuery(“tr.SeparateRow:contains('mycode'))@Tom以哪种方式失败了?错误,或者找不到字符串?哦-你有tr.SeparateRow
,我想你的意思是td.SeparateRow
。IE8及以下版本不支持indexOf
@YouBook,这是Array.indexOf(),而不是String.indexOf(),旧版本的IE不支持。