2

我正在尝试查找 JS 中的字符串中是否有某些字符

像那样 :

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

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

});

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

....
}

我的谷歌浏览器控制台出现错误:

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 回答