我正在尝试检测div是否包含iFrame

时间:2013-10-05 15:54:22

标签: javascript jquery iframe if-statement

我目前正在执行以下操作,但它对我不起作用(即使在div中有iFrame时仍然会被调用):

if($('#bodytext-' + postID + ':has(iframe)').length > -1) {

    $(this).parent().append(ytCode);

}

我做错了吗?

3 个答案:

答案 0 :(得分:2)

如果div中没有​​iFrame,则生成的jQuery对象的长度将为0,大于-1。如果有iFrame,则长度为1,也大于-1。

答案 1 :(得分:0)

即使div中没有​​任何iframe,它仍然可以调用吗?

因为length属性的返回值总是大于-1。最小值为0表示没有任何项目。

您的代码应为

if($('#bodytext-' + postID + ':has(iframe)').length > 0) {

    $(this).parent().append(ytCode);

}

答案 2 :(得分:0)

固定!这是我做的:

    if($(this).closest('p').find("iframe").length === 0) {

        $(this).closest('p').append(ytCode);

    }