使用 jquery 动态地将 id 添加到 html 组件中
Adding id's to html components dynamically using jquery
我正在尝试自动保存页面内容并将其转储到数据库中。在插入之前,我想删除 HTML 元素的 id,因为它们是自动生成的,除了用户编辑它们的编辑页面之外,以后不需要。(我已经做到了) 但是,我面临的问题是当用户来重新编辑页面时,我想再次添加id的背面。(通过我们编写的随机函数)。这就是我使用 PHP 从数据库中获取数据的方式
<?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'); //Itried doing this but does not work
我怎样才能实现它?我尝试添加动态div,但失败了。DOM 有问题吗?我没有在 DOM 中获得动态div 吗?请发表您的意见并分享想法。
谢谢你的时间
在 JS-console 中运行它,你会得到这个想法:
var some = $('<div class="myadd">');
some.append('<span>hey</span>');
console.log(some.html());
console.log($('.myadd').html());
some.children().attr('id', 'neat');
console.log(some.html());
console.log($('.myadd').html());
你为什么不试试getJson
jquery函数。
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$.getJSON('x-request.php', function(data) {
var items = [];
$.each(data, function(key, val)
{
items.push('<li id="' + key + '">' + val.from + ' -> ' + val.to + '</li>');
});
$('<ul/>',
{
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
});
</script>
并编写查询以获取json_encode
字符串x-request.php
我认为
问题是,您动态创建div,但不会将其附加到document.body或类似的东西中。因此,您的选择器根本找不到 DOM 中的元素。但是即使没有将动态创建的div 添加到 DOM 中,也应该可以直接访问它,所以pageContent.children().attr('id', 'test');
应该可以工作,但这会为div 的所有子级分配一个 id。你可以吃她用var pageContent=$('<div class="addId" id="test">').append(trimmedCont);
或pageContent.get(0).id = "test"
相关文章:
- Asp NET在不同的解决方案中共享了html组件
- Aurelia中HTML组件和普通组件之间的区别
- 从 HTML 组件调用 Javascript
- 如何获取“可写”的 HTML 组件
- 在呈现img html组件时重定向或显示错误消息
- 如何从 JSF 中的 html 组件将数据发送到服务器
- 由于JSP中的超时,Html组件无法正确加载
- 是否有一个用于媒体播放器时间控制的HTML组件?
- 自定义或可重用的HTML组件
- ExtJs HTML组件单击Event
- HTML组件开发.轻量级,快速解决方案与浏览器自动加载
- AngularJS,我的第一个html组件"widget"
- 用于二级列表的HTML组件
- 为一个控制器拆分HTML组件会导致控制器停止工作
- JSF:在页面或模板中动态注入html组件和脚本
- 如何在不使用JavaScript库的情况下检查DOM的HTML组件何时加载?
- 将两个HTML组件堆叠在一起
- 调用“HTML组件”从JS文件中
- 调整浏览器大小时,html组件的比例大小
- 用于XML编辑的HTML组件