我正在开发一个可以保存用户创建的 HTML 模板的应用程序。在这里,用户可以使用一些 HTML 组件,并且能够使用这些组件创建静态 HTML 页面。
我正在使用 javascript 函数自动保存页面的内容。
function saveContent(){
//var getContent=$('#mainWrap').children().removeAttr('id');
var $getContent=$('#mainWrap');
var $finalContent=$getContent.children().removeAttr('id');
var auto="auto";
var pageId = <?php echo $pageId;?>;
var webId = <?php echo $webId;?>;
var userId = <?php echo $userId;?>;
$.ajax({
url:"auto_save.php",
type:"POST",
dataType:"text",
data:"txtComp="+$('#mainWrap').html()+"&auto="+auto+"&pageId="+pageId+"&webId="+webId+"&userId="+userId
});
}
var interval = 1000 * 60 * 0.30; // where X is your every X minutes
setInterval(saveContent,interval);
问题:我想从用户保存的 HTML 组件中删除 ID,因为 ID 是自动生成的,并且在用户发布模板时不需要(创建后在他的域上)。我有一个包装整个页面的主包装器,称为id=mainWrap
. 如果我尝试像这样删除 ID, $('#mainWrap').children().removeAttr('id');
它们也会从 DOM 的当前上下文中删除,即它们会从用户正在编辑其模板的页面中删除。
问题:如何在不影响mainWrap
对象当前上下文的情况下从 HTML 元素中删除 ID?
我尝试将它分配给像这样的另一个对象
var $getContent=$('#mainWrap');
var $finalContent=$getContent.children().removeAttr('id');
但它仍然失败了。
关于这是否可能的任何评论或更正?还是我以错误的方式解决这个问题?
更新:问题在一定程度上得到了解决。接下来我想在用户返回编辑页面时添加 id。我使用此代码获得上述保存的内容
<?php
$sqlEdit = "select revisionContent from tbl_revision where revisionId='".$_SESSION['contentId']."'"; //The query to get the record
$rsEdit = $dbObj->tep_db_query($sqlEdit);//The database object to execute the query
$resEdit = $dbObj->getRecord($rsEdit);
$IdLessContent = $resEdit['revisionContent'];//Variable with the record
?>
现在,我想在 javascript 中使用这个 PHP 变量,所以我这样做了。
<script language="javascript">
var getSavedContent = '<?php echo json_encode($IdLessContent); ?>';
var trimmedCont=($.trim(getSavedContent).slice(1));
//console.log(trimmedCont);
var lengthCont= trimmedCont.length;
var trimmedCont=$.trim(trimmedCont.slice(0,lengthCont-1));
var pageContent=$('<div class="addId">').append(trimmedCont); //Here I tried creating a div dynamically and appending the content to the div.But now I am not able to manipulate or work on this dyamic div and get NULL when I alert saying $('.addId').html();
$('.addId').children().attr('id', 'test'); //I tried doing this but does not work
这不起作用。你能说明一下吗