javascript - 文本识别和事件
问题描述
我正在尝试根据用户输入的内容做不同的事情。我实际上能够检测到用户正在输入什么,但不知何故我无法用它做任何事情。我想检查是否letters === "a"
并做一个简单的console.log,但它不起作用。
另外,我对 jquery 还是很陌生,学习它很棒,所以如果你看到我可以在我的代码中改进的地方,请不要犹豫!
function individuaLetters(e){
e.each(function(){
var letters = $(this).html().split();
console.log(letters)
if (letters === "a") {
console.log("nailed it")
};
})
}
var text = $('div').find('.indiv');
individuaLetters(text);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<span class="indiv">"a"</span>
</div>
谢谢您的帮助!
解决方案
拆分创建一个数组,因此拆分后的字母永远不会是字符串。另外,您还有报价要处理。
我摆脱了您的拆分并使用正则表达式删除所有非字母,然后将字符串小写。
function individuaLetters(e){
e.each(function(){
var letters = $(this).html().replace(/[^a-zA-Z]/g,"").toLowerCase();
if (letters === "a") {
console.log("nailed it")
};
})
}
var text = $('.indiv');
individuaLetters(text);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<span class="indiv">"a"</span>
</div>
推荐阅读
- gitlab-ci - 来自受密码保护的存储库的服务的管道
- javascript - 将两个 JSON 值合并为一个到数组
- c++ - C++ 无法打开源文件“hboost/predef/os/cygwin.h
- excel - Sum 和 Row 函数 - Excel
- javascript - Firestore 数组包含任何不适用于数组值?
- r - R:使用lm时可变长度不同错误
- jenkins - 下游作业未从上游作业接收构建参数
- javascript - 将 Alpine.js x-transitions 转换为 Vue.js 转换类?
- c++ - 安装 pHash 库时对“fftw_init_threads”的未定义引用
- ios - 显示 MDTimePicker 时键盘未关闭