2

これはよくある質問ですが、以前に回答したものについて調査しましたが、エラーが見つからないようです。

私が作成しているアプリの一部として、ページが読み込まれると、document.ready 関数は順序付けられていないリストの各リスト項目を調べて、id に「ビデオ」という単語が含まれているかどうかを確認し、含まれているかどうかを確認します。その後、いくつかのアクションを実行します。

ただし、私のコードでは同じエラーが発生し続けます。

Uncaught SyntaxError: Unexpected identifier 

コードを少しいじった後、 :contain 部分を取り出すとエラーは消えますが、jQuery ドキュメントを確認した後、正しく使用していると思いました。

あなたが私に与えることができるどんな助けでも大歓迎です:

コード:

$(document).ready(function() {
    $('ul.thumbnails li a img').each(function() {
        if($(this).attr('id'):contains('video')){
            var $parent = $(this).closest('a');
            $parent.remove();
        }
    });
});

PS :contains を使用するコード内の別のインスタンスですが、このエラーもスローします

$(".span4 img").click(function(){
    if($(this).attr('id'):contains('video')){
    var id = $(this).attr('id').replace(/video/, '');
    console.log(id);
    $(this).addClass('hideicon');
    $(this).parent('.span4').prepend('<video id="vid></video>');
    $(this).siblings("video").trigger("play");
    $("video#vid" + id).bind("ended", function() {
           $("#video" + id).removeClass('hideicon');
           $("video#vid" + id).remove();
    });

    }

});
4

3 に答える 3

1

包含セレクターを誤用していると思います。ここでAPIを読んだ場合:

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

$("div:contains('John')")ジョンが含まれているすべての要素を返すようなことをすることになっています。次のいずれかのIDで動画を検索するには、通常のJavascript文字列機能を使用する必要があります。

1)正規表現

2)if($(this).attr('id').indexOf('video') != -1){/*code*/}

于 2012-09-24T15:45:44.127 に答える
1

スローされるエラーは、コロンの使用に関するものです。コロンは使用しないでください。JavaScript は、一部の言語のようにコロンを使用してメソッドやフィールドにアクセスすることはありません。ドットですべてにアクセスします。@thatidiotguy は、コードを修正するためのいくつかのソリューションを提供します。

于 2012-09-24T15:43:28.623 に答える
0

これは間違っています :contains

ただ使う.contains

于 2012-09-24T15:46:34.800 に答える