@PHPjedi

Как проверять на наличие div?

Как проверять существует ли сейчас на странице pastebin.com/tB0yxbjV?
На чужом сайте появляется флеш-сообщение, с помощью js я хочу каждую секунду проверять существует ли pastebin.com/tB0yxbjV;
  • Вопрос задан
  • 1200 просмотров
Решения вопроса 1
jamesgoodwin
@jamesgoodwin
Молодой разработчик
Если известен id:
if (document.getElementById("ваш_id")) {
/* Ваш код */
}

Если известен класс:
var classesArray = document.getElementsByClassName("имя_вашего_класса");
if(classesArray.length > 0){
/* Ваш код */
}


Если поиск ведем по тегу:
var tagsArray = document.getElementsByTagName("имя_вашего_тега");
if(tagsArray>0){
/* Ваш код */
}

Обратите внимание на то, что поиск по классу и тегу вернут массив и по ним идентифицировать конкретный div просто так не получится. Используйте первый способ с поиском по id, т.к. он является основным для поиска конкретного дива.

PS: Для jQuery необходимо использовать запись вида $('селектор'), а конкретнее $('селектор').length. Не забывайте проверять то, что DOM загрузился:
$(document).ready(function() {
    if($('#ваш_id').length){ /* код */ } 
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
T_y_l_e_r
@T_y_l_e_r
Набросал небольшой код
Можно регулярками нафигачить, но было лень
5000 это 5 сек
(function() {
	var finder_div = function() {
		var key_r = false;
		var elems=document.getElementsByTagName('div');
		for(var i=0; i<elems.length; i++){
			if(elems[i].className.indexOf("example") > -1) {
					var buf_elm = elems[i].innerHTML;
					if(buf_elm == '<div class=secondExample><h3>Hello</h3></div>') {
						key_r = true;
						break;
					}
			}
		}
		return key_r;
	}

	setInterval(function() {
		if(finder_div()) {
		alert('Найден');
	}
	else {
		alert('Не найден');
	}
	}, 5000);
})();
Ответ написан
Stalker_RED
@Stalker_RED
Добавляем новый метод в jQuery
jQuery.fn.exists = function () {
    return this.length !== 0
}


Примеры использования:
if ($('.combobox').exists()) { loadComboboxPlugin() }

if ($('#mailbox .new').exists()) {
  // ...
}


Для ежесекундной проверки - setInterval
setInterval(function(){
  if ($('.example .secondExample h3').exists()) {
    // ...
  }
}, 1000)


Можно и без jQuery
setInterval(function(){
  if (document.querySelector('.example .secondExample h3')) {
    // ...
  }
}, 1000)
Ответ написан
Комментировать
@aarty20
Front-end / Wordpress developer
ваши ссылки ошибки выдают,
а проверить на jquery наличие дива можно так:
$('div').length
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы