Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Вопросы по jQuery

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Открыть новую тему     Написать ответ в эту тему

Jokerjar79



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Фильтр по слову "jquery" не дал какой-либо общей темы по этой библиотеке, поэтому решился создать. У меня возник такой вопрос: согласно справочной документации такой код:
 

Код:
  <p>1</p>
  <p>2</p>
  <p>3</p>
  <p>4</p>
 
  <script language="javascript">
      $("p")[0].html("test");
  </script>

 
должен <p>1</p> заменить на <p>test</p>. Но не работает. Пробовал еще так:
 

Код:
$("p").get(0).html("test");

 
Есть подозрения, что мануал, по которому осваиваю библиотеку, написан для более старой версии, а позже принцип обращения к конкретному элементу из коллекции как-то изменился. Кто знает, как реализовать это (версия библиотеки - v1.3.2)



Документация по jQuery - eng, рус

Всего записей: 710 | Зарегистр. 08-09-2007 | Отправлено: 16:22 11-08-2009 | Исправлено: Cheery, 07:35 09-08-2013
sunduk4

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
т.е., я так понимаю, ковырять внимательно DOM структуру, по-хорошему, нужно?
я писал - с оффлайн проограммирования перехожу, потому понятия/термины корявые немного в данном контексте. пардон.

Всего записей: 177 | Зарегистр. 03-04-2004 | Отправлено: 07:50 23-07-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sunduk4

Цитата:
ковырять внимательно DOM структуру, по-хорошему, нужно?

я не понимаю ваших вопросов. ничего ковырять не нужно.
если вы создаете динамический элемент на странице, он так же легко убирается, удаляя свое содержимое. если вы используете какой либо wysiwyg редактор на js, то он тоже создает элемент, вставляет туда данные для редактирования, а потом, при необходимости, удаляет элемент.

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 07:53 23-07-2015
sunduk4

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
Я новичок в этой теме, есть небольшие знания php/css/html, js - "видел краем глаза", отсюда и вопросы такие. Да и привык, что за уничтожение экземпляра класса и освобождение связанных ресурсов отвечает разработчик. Собственно, спасибо за пинок в нужную сторону, пошел читать.
Для разработки использую пока только текстовый редактор в консоли. Для начала вполне достаточно, а там посмотрим.

Всего записей: 177 | Зарегистр. 03-04-2004 | Отправлено: 08:07 23-07-2015
hd78



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, подскажите пожалуйста по вопросу заданному здесь
Похоже он имеет отношение к названию этой темы т.к. там имеется jQuery
 
 
 
 

Всего записей: 116 | Зарегистр. 20-04-2014 | Отправлено: 22:41 10-09-2015
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, почему событие set_jquery_elems.on('change', handler) для элемента input[type="number"] срабатывает дважды, если щелкать по его стрелочкам больше/меньше?
И можно как-нибудь предотвратить 2-ое срабатывание?
 
Добавлено:
вопрос отпадает. Похоже это проблема только Opera Presto. В IE, лисе и хроме данное событие срабатывает 1 раз.

Всего записей: 6672 | Зарегистр. 14-02-2005 | Отправлено: 14:02 11-09-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
Похоже это проблема только Opera Presto. В IE, лисе и хроме данное событие срабатывает 1 раз.

либо обработчик неправильно цепляется. нельзя сказать в чем дело не видя страницы.

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 18:04 14-09-2015
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
чего там может быть неправильным? set_jquery_elems - это $('#id_этого_input'). Все id на странице уникальны. Да и сама страница содержит html-кода раз два и обчелся.
Это примитивный калькулятор расчета падения напряжения в 2-ух проводной линии.
 
PS.
Пофигу. Пускай себе срабатывает 2 раза. Это ни на что там не влияет.
Сейчас пока другим занят, но попозже повешаю 1 событие на документ, а не на элементы. И посмотрю, сколько раз сработает на этом input'е.

Всего записей: 6672 | Зарегистр. 14-02-2005 | Отправлено: 05:16 15-09-2015 | Исправлено: unreal666, 05:18 15-09-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
чего там может быть неправильным?

цепляется обработчик событий 2 раза.

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 05:25 15-09-2015
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
цепляется обработчик событий 2 раза.

тогда бы у меня все обработчики цеплялись 2 раза. Да и в таком случае 2 раза было бы во всех браузерах.
 
У меня главная глобальная функция типа такого:
 
(function main(window, undefined) {
... назначение переменных...
 
... установка обработчиков событий ...
 
... собственно сами функции-обработчики ...
}).call({}, window);

Всего записей: 6672 | Зарегистр. 14-02-2005 | Отправлено: 10:44 15-09-2015 | Исправлено: unreal666, 10:48 15-09-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
тогда бы у меня все обработчики цеплялись 2 раза.  

ну так посмотрите через тулбар разработчика - он показывает сколько висит обработчиков на разных событиях у элемента.

Всего записей: 15687 | Зарегистр. 20-09-2014 | Отправлено: 19:55 15-09-2015
xerpal



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть код типа  
 
<div id="x1">
    <div class="zzz">
      <img src="xxx.jpg">  
    </div>
</div>

 
Как через jquery сделать так, чтобы вокруг картинки была ссылка или же выглядело что там есть ссылка - то есть при клике на картинку мы бы переходили по адресу site.com/yyy.
 

Всего записей: 1633 | Зарегистр. 08-10-2011 | Отправлено: 20:40 17-11-2015 | Исправлено: xerpal, 20:50 17-11-2015
K S

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
$(".zzz img").click(function() {
 location.href = "site.com/yyy";
});
 

 
Либо
 

Код:
 
copia = $('.zzz').html();
$('.zzz img').remove();
$('.zzz').append('<a href="http://google.ru">' + copia + '</a>');
 

Всего записей: 236 | Зарегистр. 15-11-2015 | Отправлено: 21:24 17-11-2015
xerpal



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
K S
Спасибо, первый вариант ок.

Всего записей: 1633 | Зарегистр. 08-10-2011 | Отправлено: 21:46 17-11-2015
jdjfhsdhfjs

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как сделать что бы дочерние элементы не реагировали на клик?
 
Например
Имеем
$(document).ready(function(){
      $(".class1?").click(function(){......});
 
<div class="class1">
  <ul>
      <li></li>
      <li></li>
      <li></li>
  </ul>
</div>
 
здесь все дочерние элементы реагируют на клик (хотя это не везде заметно).
Что указать вместо class1?, что бы выбрать только основной элемент без дочерних?

Всего записей: 33 | Зарегистр. 27-11-2008 | Отправлено: 05:09 14-12-2015
K S

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jdjfhsdhfjs
Это вопрос не к JQuery, а к разметке страницы. Нужно указать более чётко вложенный элемент, по которому будет осуществляться клик. Если такого элемента нет, создать его.

Всего записей: 236 | Зарегистр. 15-11-2015 | Отправлено: 08:27 14-12-2015 | Исправлено: K S, 08:27 14-12-2015
jdjfhsdhfjs

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Клик осуществляется не по вложенному элементу, а по родительскому самого верхнего уровня (class1).
Напротив, нужно что бы вложенные элементы не реагировали на клик.

Всего записей: 33 | Зарегистр. 27-11-2008 | Отправлено: 08:41 14-12-2015
K S

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jdjfhsdhfjs
Все элементы имеют вложенность. Если список вложен в слой, то весь список и будет кликаться. Это не свойство JQuery, это DOM.
 
Правильно выделить элемент, по которому будет осуществляться клик, включая дочерние.
 
Можно поступить немного неправильно. Тогда внутри самой функции нужно проверять, по какому дочернему элементу был произведён клик. И если этот элемент не должен кликаться, тогда выходить из функции.

Всего записей: 236 | Зарегистр. 15-11-2015 | Отправлено: 08:58 14-12-2015 | Исправлено: K S, 09:13 14-12-2015
jdjfhsdhfjs

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пример пожалуйста.  
Что бы клик по любому дочернему элементу не обрабатывался.
Ну пожаааааааааааааааааааалуста

Всего записей: 33 | Зарегистр. 27-11-2008 | Отправлено: 12:14 14-12-2015 | Исправлено: jdjfhsdhfjs, 13:08 14-12-2015
K S

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jdjfhsdhfjs
Ниже вышеуказанного JS-кода добавляем:

Код:
$(".class1 ul").click(function(e) {
        e.stopPropagation();
})

Всего записей: 236 | Зарегистр. 15-11-2015 | Отправлено: 14:49 14-12-2015
jdjfhsdhfjs

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Всего записей: 33 | Зарегистр. 27-11-2008 | Отправлено: 07:11 15-12-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Компьютерный форум Ru.Board » Интернет » Web-программирование » Вопросы по jQuery


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru