现在我的网站上有一个Faq区域,我想为每个问题/答案添加一个“编辑”字段。
我添加了一个使用.text()的模态叠加层;函数用以前的内容填充'question'和'answer'字段,而不必再次查询服务器。 (因此模态叠加层是我们编辑问题的区域。)这适用于页面上的所有项目。
我有第二个函数,它使用.append()功能和Ajax将新的问题/答案插入数据库,然后将其动态添加到页面中。这也可以正常工作。
我的问题是,我刚刚附加到页面的最新项目(因为append()只更改DOM而不是实际的源)我不能使用.text();函数来提取一个填充了附加元素信息的模态,因为它在技术上并不存在于源中。因此,我的编辑字段在问题和答案的位置是空白的,而不是包含用户的上一个条目。
有没有办法使用.text()来查找附加元素,或者使用类似功能填充问题和答案字段而不查询数据库的方法?
(这里javascript / jquery的全部内容是使用已经加载的页面上的元素(即旧的问题和答案)填充新的“编辑”字段,而不是再次查询数据库编辑的问题和答案。)
答案 0 :(得分:1)
您可以将一个绑定委托给文档,该文档将监听事件到选择器,即使它不存在,所以你的.text示例可能是这样的
$(document).ready(function(){
$(document).on('click','.notYetExisting',function(){
alert('trigerred a click!'+$(this).text());
});
setTimeout(function(){
$('body').append('<span class="notYetExisting">baarfooo</span>');
},1000);
});
所以你看到当没有带有“notYetExisting”类的元素时就进行了绑定,但它会在那里发出警告并且你点击它(在这个例子中它会在一秒后附加)
所以你和ajax的东西一样