js编程问题

薛定谔的cat UID.1010293
2016-10-20 发表

为什么我按视频里敲出来,不输入直接点击就全变红?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
<head>
<title>新建网页</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="布尔教育 http://www.itbool.com" />
<script>
window.onload = function(){
var oTab = document.getElementById('tab1');
var oTxt = document.getElementById('name');
var oBtn = document.getElementById('btn1');

oBtn.onclick = function(){
for(var i = 0; i < oTab.tBodies[0].rows.length; i++){
var sTab = oTab.tBodies[0].rows.cells[1].innerHTML.toLowerCase();
var sTxt = oTxt.value.toLowerCase();

if(sTab.search(sTxt) == -1)
{
oTab.tBodies[0].rows.style.background = '';
}
else
{
oTab.tBodies[0].rows.style.background = 'red';
}
}
}
}
</script>
</head>
<body>
姓名:<input type="text" id="name" />
<input type="button" id="btn1" value = "搜索" />
<table id="tab1"border = "1" width = "500">
<thead>
<td>id</td>
<td>姓名</td>
<td>年龄</td>
</thead>
<tbody>
<tr>
<td>1</td>
<td>red</td>
<td>23</td>
</tr>
<tr>
<td>2</td>
<td>rec</td>
<td>22</td>
</tr>
</tbody>
</table>
</body>
</html>

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
law****xin UID.2854056
2016-10-20 回复

因为 string.search('') 永远返回0,而不是-1

hon****511 UID.1146458
2016-10-20 回复

Quote***链接停止解析***
因为 string.search('') 永远返回0,而不是-1


楼上正解

386****831 UID.1365052
2016-10-20 回复

改一下
if(sTab.search(sTxt) == -1 || sTxt == "")
{
oTab.tBodies[0].rows.style.background = '';
}
else
{
oTab.tBodies[0].rows.style.background = 'red';
}

law****xin UID.2854056
2016-10-20 回复

或者 if(sTab.search(sTxt) == -1 || !sTxt.trim() .length){}

薛定谔的cat UID.1010293
2016-10-20 使用 Lumia 950 回复

Quotelawrencexin 发表于 2016-10-20 10:03
因为 string.search('') 永远返回0,而不是-1


视频说找不到返回-1,

薛定谔的cat UID.1010293
2016-10-20 使用 Lumia 950 回复

看来是视频里写的不完整,只是简单介绍

law****xin UID.2854056
2016-10-20 回复

Quote***链接停止解析***
视频说找不到返回-1,


如果找不到您输入的字符串,返回-1;如果是空字符串(您什么也没有输入),那么返回0。视频只是演示,并没有把所有情况考虑进去。

薛定谔的cat UID.1010293
2016-10-20 回复

Quotelawrencexin 发表于 2016-10-20 12:11
如果找不到您输入的字符串,返回-1;如果是空字符串(您什么也没有输入),那么返回0。视频只是演示,并 ...


嗯。谢谢了

adamziyun UID.992625
2016-10-20 使用 Lumia 830 回复

哟!这里这么多高手啊!!!

techie UID.1367159
2016-10-20 使用 Lumia 830 回复

感觉html语法不对啊,和<head>对应的</head>没有,title、script、table都是这样的。难道是已经落伍了?

law****xin UID.2854056
2016-10-20 回复

Quote***链接停止解析***
感觉html语法不对啊,和对应的没有,title、script、table都是这样的。难道是已经落伍了? ...


都在啊!

techie UID.1367159
2016-10-20 使用 Lumia 830 回复

Quotelawrencexin 发表于 2016-10-20 17:49
都在啊!


应该是客户端的问题,但是</body>可以

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报