Jquery $this属性选择器是否包含单词
Jquery if $this attribute selector contains a word
是否可以在$(this)
上使用jquery属性包含选择器?我找不到任何例子。我正在尝试查看输入字段是否包含某个单词。
$("#form input").keyup(function() {
if ($(this).filter( "[name~='someWord']" )) {
console.log('yes');
}
});
代码对所有输入返回 yes,即使它们不包含 someWord
。
你必须在这个上下文中使用.is()
,
if($(this).is( "[name~='someWord']" )) {
console.log('yes');
}
因为.filter()
会返回一个jquery对象(元素集合),而这永远不会false
。
您可以在事件处理程序中使用 Vanilla JS 更好地做到这一点
$("#form input").keyup(function(evt) {
if (evt.currentTarget.name.indexOf('someWord') > -1) {
console.log('yes');
}
});
这将检查实际 DOM 元素的 name
属性,并且不会增加 jquery 包装器的开销。
尝试
$("#form input").keyup(function() {
if ($(this).filter("[name~='someWord']").length) {
console.log('yes');
}
});
或更好:
$("#form input").keyup(function() {
if ($(this).is("[name~='someWord']")) {
console.log('yes');
}
});
相关文章:
- 此行是否包含函数声明
- 查找对象数组是否包含其中一个标记的最快方法
- 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符
- 检查数组是否包含
- 检查元素是否已单击或hasClass
- 如何确定$(this)是否在单击事件的数组中
- 在添加或删除之前,正在使用检查classList是否包含类
- 确定数组是否包含偶数
- 如何检查 iframe 中的锚标记是否包含 URL
- 检查选择器在jQuery中是否包含文本(即不是媒体)
- 在 Javascript 中拆分包含单次出现(不是两次)分隔符的字符串
- 检查字符串是否包含计算
- 使用 javascript 检查元素是否包含子标记而不是文本
- 单击链接时,检查文本字段是否包含文本
- JavaScript表单验证,检查字符串是否包含
- JavaScript检查页面是否包含表单
- 我如何检查数据表是否包含我想要的值,并可能单击链接
- CRM2011通过JavaScript检查自定义表单上的注释是否包含数据
- 检查表格的单元格是否包含某个表单
- 如何检查提交的单选按钮是否包含正确答案