元素在DIV刷新时消失

时间:2012-03-03 18:47:50

标签: php jquery html

出于某种原因,当我明确调用DIV的刷新时,应该使用此代码加载到某些DIV中的元素会消失。如果我刷新整个页面,元素将返回当然。我究竟做错了什么?

(function() {
$('div.heriyah').each(function() { 
$(this).html('<? if (!isset($_SESSION[\'username2009\'])) {} else { echo \"<div class=\"add\"><div id=\"add_button_container\"><div id=\"add_button\" class=\"edit_links\">  + Add Element</div></div></div><div class=\"clear\"></div></div>\"; }?>');

 var curID = $(this).attr('id');//get the id before you go into fallr

$('.add').click(function() {
$.fallr('show', {
          content     :  '<iframe width="620" height="600" src="admin/add_content_select.php?pageID=<? echo $pageID; ?>&div='+ curID +'"></iframe>',
          width       : 320, // 100 = for width padding
          height         : 400,
              closeKey        : true,
              closeOverlay    : true,
              buttons     : {}
    }); 
    }); 

    }); 
})();

1 个答案:

答案 0 :(得分:1)

您需要转义$_SESSION中的引号。

'<? if (!isset($_SESSION[\'username2009\'])) ... '
                     //  ^             ^

此部分还有一些更多的逃避问题:

echo \"<div class=\"add\"><div id=\"add_button_container\"><div id=\"add_button\" class=\"edit_links\">  + Add Element</div></div></div><div class=\"clear\"></div></div>\";

评估时,它将如下所示:

echo "<div class="add"><div id="add_button_container"><div id="add_button" class="edit_links">  + Add Element</div></div></div><div class="clear"></div></div>";

这是无效的,要解决此问题,您需要在每个转义引号之前添加反斜杠。

echo \"<div class=\\\"add\\\"><div id=\\\"add_button_container\\\"><div id=\\\"add_button\\\" class=\\\"edit_links\\\">  + Add Element</div></div></div><div class=\\\"clear\\\"></div></div>\";