2011-05-20 50 views
0

我有一段時間的聲明迴應了10個不同的故事。每個故事都有用戶評論。當點擊按鈕編輯時,我想要其中一個功能來隱藏用戶評論。這裏是我寫的代碼,試圖讓它發生。如果你想到這不起作用,請告訴我。PHP中的JQuery隱藏函數

<script> 
    $(".edit_<?php echo $story_id ?>").click(function() { 
    $(".comment_<?php echo $story_id ?>").hide("fast"); 
    });  
</script> 
<?php 
if (!empty($user_comment)) 
echo " 
<p class='user_comment comment_$story_id'><strong>$user_comment</strong> <a class='edit_story_comment edit_$story_id'>Edit</a></p>"; 
else 
echo "<p id='user_comment_$story_id'><span id='edit_no_story_comment'>Edit</span></p>"; 
?> 
+1

你能提供更多信息嗎?像發生了什麼或發生的錯誤,螢火蟲錯誤等 – neolaser 2011-05-20 04:45:03

+0

作爲一個方面說明,你實施你的jQuery的方式是非常低效的,並將在舊瀏覽器上殺氣慢,因爲它將不得不做一個完整的DOM遍歷附加*每個*事件,然後每次觸發事件時再添加一個。有幾件事需要解決,但最簡單的就是分配唯一的ID而不是唯一的類,並使用'$('#some-unique-id')'而不是'$('。some_class_name' )',因爲基於ID的查找速度很快。進一步改進 - 通過'delegate' /'live'使用一個處理程序,並在回調中緩存查找內容。 – 2011-05-20 04:49:30

+0

它只是不隱藏user_comment。但是下面的解決方案解決了它。 – Chris 2011-05-20 04:50:46

回答

2

這樣的IM要去GES你 霍金UPP與jQuery事件

負載事件使用jquerys來解決這個問題

$(function() { 
$(".edit_<?php echo $story_id ?>").click(function() { 
    $(".comment_<?php echo $story_id ?>").hide("fast"); 
});  
}); 

希望以後被定義其ankertag的becuse這個幫助

(混合PHP的HTML和jQuery和字符串連接是美麗的順便說一句:D)

+0

工作就像一個魅力。並感謝你的客氣話! – Chris 2011-05-20 04:49:34