2013-07-04 40 views
0

首先,我明白,所有成員都試圖互相幫助。解析div id與變量

我希望在我的javascript函數中使用id的div內容。我有功能,它適用於一個div,它的內容。但現在我已經從數據庫中獲得了多條記錄,因此爲了讓div獨一無二,我已經完成了以下操作其中$ I = $ I + 1 while循環

<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等 以下功能處理用戶ID並獲得通過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

僅供參考 - 你的JS功能' respuestas'缺少一個結束花括號... – honyovk

+0

謝謝,但我不認爲有什麼缺失..是嗎? – Krish

+0

產生的HTML是什麼? JavaScript控制檯中有哪些錯誤?你可以添加'console.log(...)'調用來查看'elm'中的內容嗎?看到這裏[控制檯](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的方法名稱)

順便說一句爲什麼你不只是把$i的電話呢?或者,也許我沒有得到正確的問題?如果沒有,請解釋。

如果您需要訪問的元素,那麼,你已經在elm<a><div>elm.parentElement

檢查HTML DOM方法:https://developer.mozilla.org/en-US/docs/Web/API/Node.parentElement

+0

謝謝..但我需要收集兩個div元素一個改變標題和其他添加類div改變圖標和文字顏色..所以我不知道該怎麼做 – Krish

+0

更新了答案 –

+0

如你所建​​議我試圖用榆樹收集id但不成功,我只想捕獲$ 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,它解決了..感謝Sean非常感謝 – Krish