JQUERY код срабатывает только со второго раза

514
27 декабря 2016, 02:18

Довольно распространенная на JQ ошибка - код срабатывает только со второго нажатия на элемент.
Функцию запускал при помощи CLICK и ON, но код срабатывает только со второго раза. Причина судя по всему в функции .data() но не знаю как исправить код чтобы он работал как надо. из атрибута DATA-price мы берем текст и вставляем в нужное место.
Помогите исправить

$("ul li").on( "click",function(){ 
	var a=$(this).data( "price" ); 
	$(".row.active .price").html(a); 
	$("ul li").removeClass("active"); 
	$(this).addClass("active"); 
});

Answer 1

все работает и с первого раза:

$("ul li").on( "click",function(){ 
	var a=$(this).data( "price" ); 
	$(".row.active .price").html(a); 
	$("ul li").removeClass("active"); 
	$(this).addClass("active"); 
});
.active { 
  color: red;   
}
<script src="https://code.jquery.com/jquery-2.0.3.js"></script> 
<ul> 
  <li> 
    lorem 
  </li> 
  <li> 
    ipsum 
  </li> 
</ul>

Answer 2

Оказалось код и правда работает. по началу мешал скрипт который использовал такойже селектор.
После переделки селектора оказалось что внутренний селектор (строка скрипта - 3) выбирает самый первый элемент на странице и изменяет значение в нем, и только со второго раза в нужном элементе.
После добавления правильного селектора код заработал как надо

READ ALSO
Экспорт текста с Javascript

Экспорт текста с Javascript

Как можно экспортировать выделений текст в файл?

475
Наследование __proto__ в JavaScript

Наследование __proto__ в JavaScript

Столкнулся с тем, что JS не ищет свойства прописанные в прототипе во вложенностиЕсть ли способ заставить искать вложенные свойства?

372
Привязать модель и вид к существующему div backbone

Привязать модель и вид к существующему div backbone

Гайз, нужна помощь, не могу понять, каким образом я могу привязать модель и вид к уже существущему массиву элементов в DOM дереве ( в divcontainer у меня...

352
js json -&gt; php. Vk api

js json -> php. Vk api

Делаю передачу данных из iframe в мой скрипт (vkcom)

419