2013-07-04 3 views
0

Прежде всего, я ценю, что все участники пытаются помочь друг другу.Анализ идентификатора div с переменной

Я хочу содержимое div по id в моей функции javascript. У меня есть функция, и она отлично работает с одним div и содержимым. Но теперь у меня есть несколько записей из БД, поэтому, чтобы сделать div уникальным, я сделал следующее. где $ я = $ я + 1 в то время как петля

<div id="<?php echo 'fvd'.$i; ?>" class="fake-checkbox star-checkbox"><a id="<?php echo 'tvd'.$i; ?>" onclick="respuestas('<?php echo $user_id1;?>'); return false;" href="#">Add to favourites</a></div>

так вот я произвожу fvd1, tvd1 для следующей записи fvd2, TV2 и так далее Ниже процесса функция идентификатора пользователя и получить ответ с помощью Ajax вызова и изменить заголовок из Добавить в избранное Добавить в избранное и добавить имя класса 'checked', которые меняют цвет текста.

function respuestas(str) { 
    var popID = str; 

    var gett = document.getElementById('tvd1').innerHTML; 

    if (gett == 'Add to favourites') { 
     $.post('personals/addfavourite.php', { 
      ref: popID 
     }, function (data) { 

      if (data == 'no') { 
       alert('Sorry! something gone wrong!') 
      } else if (data == 'yes') { 

       var d = document.getElementById("fvd1"); 
       d.className = d.className + " checked"; 
       document.getElementById('tvd1').innerHTML = 'Added to favourites'; 
      } 

     }); 
    } 
} 

Теперь, как я могу разобрать fvd2, tvd2 и т. Д. В этой функции. Любая помощь будет много appreciated..Thanks

+0

Просто FYI - ваша функции JS ' respuestas' не хватало конца фигурного скобки ... – honyovk

+0

Спасибо, но я не думаю, что что-то не хватает .. это? – Krish

+0

Каков итоговый HTML? Каковы ошибки в консоли JavaScript? Не могли бы вы добавить 'console.log (...)' вызовы, чтобы посмотреть, что находится в 'elm'? См. Здесь [console] (https://developer.mozilla.org/en-US/docs/tag/console) –

ответ

0

Вы можете сделать

onclick="respuestas(this, '<?php echo $user_id1;?>'); 

и первым парам будет правильным <a>, так что вы можете сделать

function respuestas(elm, str) { 

    elm.getAttribute("id"); 

} 

или около того. (Не уверен в имени метода DOM)

BTW Почему бы вам просто не поставить $i на звонок? Или, может быть, я не понял вопроса? Если нет, объясните.

Если вам необходимо получить доступ к элементам, а затем у вас уже есть <a> в elm и <div> в elm.parentElement.

Проверить методы HTML DOM: https://developer.mozilla.org/en-US/docs/Web/API/Node.parentElement

+0

Спасибо .. но мне нужно собрать два элемента div один подзаголовок и другие добавить класс в div, которые меняют значок и цвет текста..так я не знаю, как это сделать – Krish

+0

Обновлен ответ –

+0

, как вы полагаете, я попытался собрать идентификатор с вязами, но не удался , Я просто хочу поймать $ i и проанализировать его как document.getElementById ('tvd'.i) .innerHTML; – Krish

0

Если добавить свой $i к параметрам функции вы можете получить каждую группу динамически

onclick="respuestas('<?php echo $user_id1;?>',<?php echo $i;?>); return false;" 

и

function respuestas(str,num) { 
    ... 
    var gett = document.getElementById('tvd'+num).innerHTML; 
    ... 
    var d = document.getElementById("fvd"+num); 
    ... 
    document.getElementById('tvd'+num).innerHTML = 'Added to favourites'; 
    ... 
} 
+0

walla, это решено .. спасибо Шэну высоко ценят – Krish

Смежные вопросы