В настоящее время я делаю следующее, но он не работает для меня (т.е. Все еще вызывается, даже если внутри div есть iFrame):
if($('#bodytext-' + postID + ':has(iframe)').length > -1) {
$(this).parent().append(ytCode);
}
Я делаю что-то неправильно?
Если в div нет iFrame, длина результирующего объекта jQuery будет равна 0, что больше, чем -1. Если есть iFrame, длина будет равна 1, что также больше -1.
Исправлена! Вот что я сделал:
if($(this).closest('p').find("iframe").length === 0) {
$(this).closest('p').append(ytCode);
}
Он все еще звонит, даже внутри iframe нет iframe?
Поскольку возвращаемое значение свойства length всегда больше -1. Минимальный - 0 означает, что нет предмета.
Ваш код должен быть
if($('#bodytext-' + postID + ':has(iframe)').length > 0) {
$(this).parent().append(ytCode);
}
this
должно было бы прийти откуда-то еще!