包含对象有没有方法?

时间:2012-09-09 20:42:11

标签: javascript jquery

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

就像那样:

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

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

});

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

....
}

我的谷歌Chrome控制台出错:

Object XXXX has no method 'contains'

怎么回事?!

3 个答案:

答案 0 :(得分:6)

我认为#embbed是某种输入值(因为您上面调用了.val())。因此,您也希望在此处提取其值,并使用indexOf-1表示未找到):

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

Here is a jsFiddle说明了概念验证。在框中输入“Hi”或“aHia”或类似内容(区分大小写)并单击链接,您将获得成功弹出窗口。否则你会弹出一个失败。

使用的代码:

​$(document).ready(function() {
    $(".clicky").click(function() {
        if ($("#input").val().indexOf('Hi') != -1) {
            alert("Contains 'Hi'!");​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
        } else {
            alert("No luck!");
        }
        return false;
    ​}​);
});​

答案 1 :(得分:3)

要使用contains()选择器,您的语法不正确,假设这是您要实现的目标:

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

答案 2 :(得分:0)

请参阅http://api.jquery.com/contains-selector/

:contains代替.contains

$('#embbed:contains("?vid=")')