javascript - indexOf() 在错误的情况下显示“-1”
问题描述
我正在尝试使用 indexOf() 来检查一个字符串是否包含另一个字符串,如果是这样,它将触发不同的 if 语句下面是代码和记录的结果:
var str2="Handrail Ext";
if (fixing.toString().indexOf(str2) === -1 || fixingDig.toString().indexOf(str2) === -1) {
console.log("$FixingDig: " + fixingDig + " $Fixing: " + fixing + "InfexOf Result: " + fixing.toString().indexOf(str2) + ".");
$('.results #handrails').val(new_posts);
$('.wpcf7-form input[name=hidden-post-handrails]').val(new_posts);
} else {
console.log("$FixingDig: " + fixingDig + " $Fixing: " + fixing + "InfexOf Result: " + fixing.toString().indexOf(str2) + ".");
$('.results #handrails').val(0);
$('.wpcf7-form input[name=hidden-post-handrails]').val("0");
}
控制台日志
页面加载:
$FixingDig: No Fixing. $Fixing: No Fixing. IndexOf Result: -1.
选择固定:
$FixingDig: Bolt Down (610mm). $Fixing: No Fixing. IndexOf Result: -1.
选择用扶手固定:
$FixingDig: Bolt Down (760mm + Handrail Ext.). $Fixing: No Fixing. IndexOf Result: -1.
解决方案
检查使用> -1
而不是=== -1
var str = "Handrail Ext";
var text1 = "bla and bla Handrail Ext bla"
var text2 = "bla and bla Handrail bla"
console.log(text1.indexOf(str))
console.log(text2.indexOf(str))
推荐阅读
- oracle - 根据 varchar 列 Oracle 将表拆分为相等的块
- angular - 从Angular中的选项选择执行功能
- javascript - 当我使用 javascript 加载图块时,如何在 openlayers 地图中只显示一个图块
- python - Python如何通过套接字发送元组数据(签名)
- angular - 使用angular2的可移动弹出窗口
- admob - 由于包名称,Admob 不显示奖励视频
- css - querySelector 和 nth-child 的问题
- c# - 使用 C# 捕获鼠标点击和键盘击键
- makefile - 无法获得以任何身份工作的隐式/模式规则
- php - Laravel:redirecTo() 方法无法正常工作