Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Стыдно, но всё же... (https://javascript.ru/forum/jquery/64522-stydno-no-vsjo-zhe.html)

fallen_soul 17.08.2016 16:53

Стыдно, но всё же...
 
Доброго времени суток.
Есть вот такой штука, его много:
<span class="infa">^start_time.hour.format[%02u]:^start_time.minute.format[%02u] - ^end_time_interval.hour.format[%02u]:^end_time_interval.minute.format[%02u]</span>
                 <div class="show_it">
                    <p>Название:<span> $oEvents.event_name</span></p>
                    <p>Руководитель:<span> $oEvents.event_manager</span></p>
                    <p>Описание:<span>^taint[as-is][$oEvents.event_descr]</span></p>
                    <p>Продолжительность:<span>$oEvents.event_duration</span></p>
                 </div>

у div'a стоит по умолчанию display: none;
Возможно ли, при нажатии на спан, добавлять класс только тому диву, рядом с которым был нажат спан?

Пробовал вот такую конструкцию:
$(this).click(function(){
$('.show_it').addClass('my_hover')};

И естессно оно не работает...
А еще какая-то странность, был кусок, в котором спану добавлялся класс, и если вписать в этот кусок либо console.log() либо alert(), в режиме разработчика, в хроме, на вкладке sources, напротив тега <script> стоит сообщение об ошибке 404

Manyasha 17.08.2016 17:50

fallen_soul,
не понятно как-то... Как понять, что div ближайший? Они обернуты другим блоком? Или по нумерации элементов под этим же классом смотреть?
Наверное не правильно, но вдруг...
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<style>
.show_it{
	display: none;
}
.my_hover{
display: block;
background: #ff00ff;
}
</style>

<span class="infa">span1</span>
    <div class="show_it">
    <p>Название:<span> $oEvents.event_name</span></p>
    <p>Руководитель:<span> $oEvents.event_manager</span></p>
    <p>Описание:<span>^taint[as-is][$oEvents.event_descr]</span></p>
    <p>Продолжительность:<span>$oEvents.event_duration</span></p>
    </div>
	<span class="infa">span2</span>
    <div class="show_it">
    <p>Название222222:<span> $oEvents.event_name</span></p>
    <p>Руководитель:<span> $oEvents.event_manager</span></p>
    <p>Описание:<span>^taint[as-is][$oEvents.event_descr]</span></p>
    <p>Продолжительность:<span>$oEvents.event_duration</span></p>
    </div>
	<span class="infa">span3</span>
	<div class="show_it">
    <p>Название3333333:<span> $oEvents.event_name</span></p>
    <p>Руководитель:<span> $oEvents.event_manager</span></p>
    <p>Описание:<span>^taint[as-is][$oEvents.event_descr]</span></p>
    <p>Продолжительность:<span>$oEvents.event_duration</span></p>
    </div>
<script>
$(function(){
	$(".infa").click(function(){
		var i = $(".infa").index($(this));
		$('.show_it:eq(' + i + ')').addClass('my_hover')
		//alert("div № " + i)
	});
})
</script>


Может Вам это нужно? http://javascript.ru/forum/events/64...uchaetsya.html

fallen_soul 17.08.2016 18:30

Manyasha,
Спан и див обёрнуты еще в один див.
Находил конструкицю типа $(this).closest... но она не работает. Меня почему то напрягает 404 ошибка висящая в коде после загрузки страницы и думаю, что может в ней проблема... В ошибке написано следующее, НО она не в консоль выводится а именно в сорсах лежит(Текст ошибки Failed to load resource: the server responded with a status of 404 (Not Found)).
Спасибо за Ваш совет, попробую

krasovsky 18.08.2016 05:29

Цитата:

Сообщение от fallen_soul
Возможно ли, при нажатии на спан, добавлять класс только тому диву, рядом с которым был нажат спан?

Да, множеством реализаций, описывать которые не вижу смысла, потому как вопрос описан весьма абстрактно. Советую читать доку - если вопрос и останется то конкретный.
По тому коду что ты выложил - $(".infa").next().addClass("my_hover"); поможет тебе.


Часовой пояс GMT +3, время: 14:32.