我的HTML:
<form>
<input type="text" name="url" maxlength="10" />
</form>
我的JS:
$(document).ready(function(){
var inputUrl = $('input[name=url]');
inputUrl.change(function() {
alert(inputUrl);
if ($(inputUrl).contains('watch'))
{
alert ('Contains watch: yes');
}
else
{
alert ('Contains watch: no');
}
});
});
Chrome控制台显示:
Uncaught TypeError: Object [object Object] has no method 'contains'
正确的语法是什么:
if ($(inputUrl).contains('watch'))
答案 0 :(得分:7)
if (inputUrl.val().indexOf('watch') > -1) {
或者您可能只想对当前接收事件的人进行操作。
if ($(this).val().indexOf('watch') > -1) {
或者使其不区分大小写:
if (/watch/i.test($(this).val())) {
答案 1 :(得分:0)
你可以这样做。 conatins
psuedo用于搜索innerHtml中的文本。
它不搜索输入元素值
$(inputUrl).val().indexOf('watch') > 0
答案 2 :(得分:0)
我的第一个想法是将input[name=url]
更改为input[name=url]:contains('watch')
或者在代码中进行inputUrl var解析,但这只会从元素中获取文本而不会对问题产生影响到attr的值。 @ user1689607的回答看起来是最好的回答。