未捕获的TypeError:$(this).search不是函数

时间:2016-07-18 22:29:07

标签: javascript function uncaught-typeerror

未捕获的TypeError:$(this).search不是函数

$(document).ready(function(){
    $('#caption').on('keypress', function () { 
            var n = $(this).search('#');
            if(n != "-1"){
                window.alert("There's a hash");
            }else{
                 window.alert("There's not a hash");
            }


    });
});

2 个答案:

答案 0 :(得分:3)

search是字符串类型的JavaScript方法。

因此,如果您想使用search,则系列var n = $(this).search('#');应更改为var n = $(this).val().search('#');var n = $(this).text().search('#');,具体取决于#caption元素的标记。< / p>

答案 1 :(得分:0)

如果您希望在输入中搜索字符#,则可以使用indexof()

请记住,search()用于正则表达式。否则indexOf()会更快。

 $(document).ready(function(){
    $('#caption').on('keypress', function () { 
        var n = $(this).val();
        if(n.indexOf("#") > -1){
            window.alert("There's a hash");
        }else{
             window.alert("There's not a hash");
        }

   });
});

结果: https://jsfiddle.net/cmedina/3v04fvmb/