Есть ли способ изменить элемент списка в зависимости от идентификатора его div?

0

Ладно, это дополнительное программное обеспечение для моего маленького проекта, в основном у меня есть огромный div с маленькими div'ами внутри:

<div class="scroll-area" id="lista">

        <div class="box" id="item1">
            <p>Item #1</p>
            <p class="info"><a href="#" id="lnkInfo">Info</p></a>
            <p class="info"><a href="#">Take</p></a>
        </div>

        <div class="box" id="item2">
            <p>Item #2</p>
            <p class="info"><a href="#">Info</p></a>
            <p class="info"><a href="#">Reservar</p></a>
        </div>

        <div class="box" id="item3">
            <p>Item #3</p>
            <p class="info"><a href="#">Info</p></a>
            <p class="info"><a href="#">Take</p></a>
        </div>

        <div class="box" id="item4">
            <p>Lab #4</p>
            <p class="info"><a href="#">Info</p></a>
            <p class="info"><a href="#">Take</p></a>
        </div>

        <div class="box" id="item5">
            <p>Item #5</p>
            <p class="info"><a href="#">Info</p></a>
            <p class="info"><a href="#">Take</p></a>
        </div>

        <div class="box" id="item6">
            <p>Item #6</p>
            <p class="info"><a href="#">Info</p></a>
            <p class="info"><a href="#">Take</p></a>
        </div>
               </div>

PopUp для элемента:

 <div class="popUp hide" id="popUp">
        <div class="stylePopUp">
          <span>Info</span>
          <span value="Close" id="btnClose">x</span>
        </div>
            <ul>
        <li>Nome: Item #1</li> !-- Here is where I want to replace -->
            <li>BLA</li> 
        <li>BLA</li>
        <li>BLA</li>
    </ul>



        </div>  

CSS

.box {
   display: inline-block;
   padding: 2px;
   width: 75px;
   border: 2px solid black;
   margin: 3px;
}


.box:hover{
border:2px solid #e67e22;
}

Javascript:

var elementInfo = document.getElementById('lnkInfo'),
elementBtnClose = document.getElementById('btnClose'); 

elementoVerInfo.addEventListener('click', function () {
displayPopUp('popUpCorrect');
});

elementoBotonCerrar.addEventListener('click', function () {
hidePopUp('popUpCorrect');
});

function displayPopUp(pIdDivToShow){
var fElementDivToShow = document.getElementById(pIdDivToShow),
newClass ='';
newClass = fElementDivToShow.className.replace('hide','');
fElementDivToShow.className = newClass + ' show';
}

function hidePopUp(pIdDivToShow){
var fElementDivToShow = document.getElementById(pIdDivToShow),
newClass ='';
newClass = fElementDivToShow.className.replace('show','');
fElementDivToShow.className = newClass + ' hide';
}

Но это просто пример того, как он выглядит. Теперь, когда я нажимаю "Информация", он отображает popUp с некоторой информацией (go figure), в которой говорится:

Имя: Пункт X

Я не хочу делать div для каждого элемента, поэтому я хотел бы выполнить какое-то esque-решение Java, например:

String name = "Item:" + x. Где x - это имя или номер элемента, который программа должна автоматически извлекать, когда я нажимаю на указанный div. Проблема в том, что сначала я не знаю точного sintax для Javascript, а также точного способа, как я этого хочу.

Я думал в каком-то цикле, который сравнивает идентификатор каждого div, и когда он выбран, он присваивает значение "Name:" X, но все же мой ограниченный опыт кричит, что для этого мне понадобится какой-то i++, иначе как я должен назначить int или строку?

Извините, если я потерял линию мысли, английский не является моим основным языком, и я расстроен, как когда у вас есть слово на кончике вашего языка>. <У меня есть идея, как это сделать...

Любая помощь будет оценена с наилучшими пожеланиями!

  • 1
    Можете ли вы показать свой код, где вы делаете всплывающее окно, когда вы нажимаете информацию?
  • 0
    Конечно, я буду загружать его прямо сейчас.
Показать ещё 5 комментариев
Теги:

1 ответ

1
Лучший ответ

Вот это то, что вы спросили: это в JQuery, я прикрепил Fiddle, проверьте его

     $('.box').click(function(e){
        var divobj = $(this);
        alert(divobj.attr('id'));

      });

http://jsfiddle.net/AmarnathRShenoy/aJt2K/

Вы можете смешать jquery и JS, если вам это нужно очень эффективно.

  • 1
    я думаю, что bind () устарела, кстати. Хммм .. возможно не устарел, но предложил использовать вместо ()
  • 0
    У меня были сомнения, потому что на сегодняшний день я не видел ни jQuery, ни Php (пока), но думаю, что продвижение вперед - это никогда не плохо. Я проверю код, который вы прикрепили, и большое спасибо.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню