Member 14993304 Ответов: 1

Jscript работает не так, как предполагалось.


Привет всем, я новичок как на этом форуме, так и в jScripting, но очень хочу учиться и нуждаюсь в некоторых советах ниже.

В моем .html я хочу запустить этот jScript:

<script type="text/javascript">
jQuery(function(){
jQuery('#showall').click(function(){
jQuery('.target').show();
});

jQuery('.lista').click(function(){
	jQuery('.target').hide();
	jQuery('#div'+$(this).attr('target')).show();
});
});



В том же .html у меня есть один контейнер beeing:
div id="Contain"

с: (будучи колонкой слева)
<div class="sektioner">
<a id="showall">Alla</a>
<a class="lista" target="1">Delmoment 1</a>
<a class="lista" target="2">Delmoment 2</a>
<a class="lista" target="3">Delmoment 3</a>
<a class="lista" target="4">Delmoment 4</a>
<a class="lista" target="5">Delmoment 5</a>
</div>


и: (будучи колонной справа)
<section class="columns">
<div id="col1" class="target">Delmoment 1<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Volutpat lacus laoreet non curabitur gravida arcu ac tortor.</p></div>
<div id="col2" class="target">Delmoment 2<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Volutpat lacus laoreet non curabitur gravida arcu ac tortor.</p></div>
<div id="col3" class="target">Delmoment 3<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Volutpat lacus laoreet non curabitur gravida arcu ac tortor.</p></div>
<div id="col4" class="target">Delmoment 4<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Volutpat lacus laoreet non curabitur gravida arcu ac tortor.</p></div>
<div id="col5" class="target">Delmoment 5<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Volutpat lacus laoreet non curabitur gravida arcu ac tortor.</p></div>

Когда я нажимаю кнопку
<a class="lista" target="1">

Я хочу, чтобы в столбце справа не было ничего, кроме соответствующего столбца. Но я только кончаю тем, что у меня есть
<a id="showall">Alla</a>
рабочий, который открывает и закрывает все колонки.

Что я уже пробовал:

Я не придумал ничего другого, чтобы попробовать, но я предполагаю, что мне нужно что-то еще, чтобы идентифицировать цель, но не знаю точно, где это указать? Мои внутренности говорят мне об этом
jQuery('#div'+$(this).attr('target')).show();
где .attr ("цель") нуждается в изменении?

Gerry Schmitz

Вместо того чтобы начинать с "я хочу запустить этот сценарий", начните с объяснения того, что вы хотите сделать и где у вас возникли проблемы. Заставить мусор бежать-это все равно мусор.

Member 14993304

Я буду иметь это в виду в следующий раз, когда буду отправлять вопрос.

Ричард Диминг пришел с отличным решением tho, тогда как в jQuery был найден один недостаток и объяснение ему . Я думаю, он прочитал всю почту ;)

Овации.

1 Ответов

Рейтинг:
11

Richard Deeming

Учитывая этот HTML элемент:

<a class="lista" target="1">
после этого JavaScript:
jQuery('#div'+$(this).attr('target'))
ищет любой элемент с идентификатором div1.

Но у вашего элемента нет идентификатора div1; у него есть идентификатор col1:
<div id="col1" class="target">

Измените свой селектор, чтобы он соответствовал идентификатору элемента:
jQuery('#col'+$(this).attr('target'))
или измените идентификатор целевых элементов в соответствии с селектором:
<div id="div1" class="target">


Member 14993304

Вот и сделал это Ричард Диминг, большое спасибо!