2013-10-13 84 views
1

未来某个元素我试图隐藏负载对隐藏的jQuery

<script> 

$(document).ready(function() 
{ 
$.ajax({ 
    url:"http://localhost/test.php", 
    success:function(data){ 
      $('#div').html(data);} 
}); 

$('#btn').click(function(){ 
    $('#para').hide(); 
}) 


</script> 

<html> 

<div id="div"> </div> 
<input type="button" value="hide" id="btn"> 

</html> 

PHP

<?php 
echo"<p id='para'> this is test </p>" 
?> 

什么我想是在客户端上执行的未来元素的动作和我无法做到这一点...任何帮助.... ????

回答

3

您应该创建一个CSS规则,将其添加到将具有display:none的任何新元素。

这样,任何新元素都会自动执行CSS规则。一旦你想显示元素,只是删除CSS类..

echo "<p id='para' class='hide'> this is test </p>" 
// here is the class------^ 

现在在你的CSS文件,你可以有这样的:

.hide { 
    display: none; 
} 

要删除类,使该段可见,使用这样的:

$("#para").removeClass("hide"); 

您也可以通过jQuery添加这个类:

... 
success:function(data) { 
    var element = $(data); // assuming data is just raw HMTL 
    element.addClass("hide"); 
    $("#div").html(element.html()); 
} 
... 
+0

嗯,它确实隐藏了,但仍然有问题,使其再次可见 –

+0

您是否尝试删除“隐藏”类?你可以用这个选择器匹配所有“隐藏的”元素 - '$(“.hide”)'。 – Lix

0

单击#btn时,您可以尝试设置标志,然后在AJAX成功时隐藏段落(如果设置了标志)。