0

私の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'))

4

3 に答える 3

7
if (inputUrl.val().indexOf('watch') > -1) {

あるいは、イベントを受け取った現在のものだけを操作したいかもしれません。

if ($(this).val().indexOf('watch') > -1) {

または、大文字と小文字を区別しないようにします。

if (/watch/i.test($(this).val())) {
于 2012-10-18T18:31:16.920 に答える
0

私の最初のアイデアは、コード内でinputUrl varを解析するようにinput[name=url]変更するinput[name=url]:contains('watch')か、そのようにすることでしたが、これは要素内からテキストをフェッチするだけであり、attrの値に関しては効果がありません。@ user1689607の答えは、振り返ってみると最高の答えのように見えます。

于 2012-10-18T18:35:36.890 に答える
0

このようにすることができます。conatins疑似は、innerHtml 内のテキストを検索するために使用されます。入力要素の値を検索しません

$(inputUrl).val().indexOf('watch') > 0

参照: http://api.jquery.com/contains-selector/

于 2012-10-18T18:31:55.500 に答える