- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Помогите переделать скрипт, написанный под jQuery на нативный JavaScript, а то я ни с тем, ни с другим не дружу :(.
Код скрипта:
С основной частью разобрался самостоятельно, осталось только:
Что никто так и не поможет? :(
$('.nclass img') - если бы это было кроссброузерно реализуемо в двух строках кода, jQuery в 90% был бы не нужен :)
В двух словах - вам нужно распарсить весь DOM, определить класс узла, определить есть ли среди дочерних элементов на любой глубине вложенности img, а потом начать плясать обратно по дереву. В общем, гуглите javascript getElementsByClassName.
Кстати, в jquery для поиска в DOM по css используется библиотека sizzle у нее есть куча альтернатив. некоторые совсем маленькие 2-3К в сжатом виде. По этой теме можно гуглить "css selector engines"
Да хрен с ней, с этой кросбраузерностью.
Это будут проблемы пользователей со старыми версиями ИЕ (до 8 включительно, в итоге - около 7-8%, а в перспективе - еще меньше). 9ИЕ вроде бы поддерживает getElementsByClassName.
Так как же будут выглядеть эти некросбраузерные
в двух строках кода
Вот готовый код блока (их много на странице) и логика: при щелчке на картинке пользователя необходимо направить на url_0.htm
П.С. делать img ссылкой нельзя, только "голый" javascript 😂
П.С. делать img ссылкой нельзя, только "голый" javascript
Религия? :D
Религия? :D
Все гораздо хуже ;)
Если старые браузеры не важны, то можно так:
Если старые браузеры не важны, то можно так:
К сожалению, работает неправильно (или я туплю). Если заменить alert('ff') на alert(i) то вместо текущего i в алерте выводится общее кол-во найденных элементов. :(
function setClick(img,a) { // установка связи картинки с ссылкой
img.onclick = function(){
//alert(a.getAttribute('href'));
location.href = a.getAttribute('href');
}
}
var i,p,a;
for (i=0;i<document.images.length;i++) { // перебираем картинки
p=document.images.parentNode; // определяем родительский элемент
if (p.className == 'nclass') { // проверяем его класс
a = p.getElementsByTagName('H2'); // если находим H2 внутри родительского элемента
if (a.length) {
// устанавливаем связь между картинкой и ссылкой
// полагая что ссылка всегда есть
setClick(document.images,a[0].childNodes[0]); //
}
}
}
в ie6 не проверял, но должно работать.
Проблема решена. Надо было всего-навсего разобраться с замыканиями в js.
Огромное спасибо всем откликнувшимся.