字符串:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p>。</p>
<button onclick="myFunction()">点我</button>
<p id="demo"></p>
<p id="demo1"></p>
<script>
var ages = "hello"
var flag = '';
if(ages.indexOf('hel')>-1){
flag = "条件为包含"
}else{
flag ="false不包含"
}
function myFunction() {
document.getElementById("demo").innerHTML =flag
}
</script>
</body>
</html>
结果:条件为包含
数组:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p>。</p>
<button onclick="myFunction()">点我</button>
<p id="demo"></p>
<p id="demo1"></p>
<script>
var ages = ["hello"]
var flag = '';
if(ages.indexOf('hel')>-1){
flag = "条件为包含"
}else{
flag ="false不包含"
}
function myFunction() {
document.getElementById("demo").innerHTML =flag
}
</script>
</body>
</html>
为什么不包含,原因在于,数组的indexOf()找到下标是子元素的下标,ages[0]为"hello",并非为"hel"
下面我们将"hel"改为"hello".
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p>。</p>
<button onclick="myFunction()">点我</button>
<p id="demo"></p>
<p id="demo1"></p>
<script>
var ages = ["hello"]
var flag = '';
if(ages.indexOf('hello')>-1){
flag = "条件为包含"
}else{
flag ="false不包含"
}
function myFunction() {
document.getElementById("demo").innerHTML =flag
}
</script>
</body>
</html>
结果:
条件为包含
下标是0,找到了子元素"hello"