2

JS の文字列に文字があるかどうかを調べようとしています

そのように:

$('.upld_btn').bind("click", function () {

    changeApiFormat($('#embbed').val());

});

if ($('#embbed.contains("?vid=")')) {
....

....
}

Google Chrome コンソールでエラーが発生しました:

Object XXXX has no method 'contains'

どうして?!

4

3 に答える 3

6

ある種#embbedの入力値であると思います(上記の呼び出しのため.val())。したがって、ここでもその値を取得し、indexOf(-1が見つからないことを示します)を使用する必要があります。

if ($("#embbed").val().indexOf('?vid=') != -1) {

これは、概念実証を示すjsFiddleです。ボックスに「Hi」、「aHia」、またはそのようなもの (大文字と小文字を区別) を入力してリンクをクリックすると、成功のポップアップが表示されます。そうしないと、失敗のポップアップが表示されます。

使用したコード:

​$(document).ready(function() {
    $(".clicky").click(function() {
        if ($("#input").val().indexOf('Hi') != -1) {
            alert("Contains 'Hi'!");​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
        } else {
            alert("No luck!");
        }
        return false;
    ​}​);
});​
于 2012-09-09T20:45:32.920 に答える
3

contains()セレクターを使用するには、それが達成しようとしていると仮定して、構文が正しくありません。

if ($('#embbed:contains("?vid=")').length) {
    ....
}
于 2012-09-09T20:45:30.180 に答える
0

http://api.jquery.com/contains-selector/を参照してください。

:contains代わりに.contains

$('#embbed:contains("?vid=")')
于 2012-09-09T20:45:21.240 に答える