我有一个带有ID'内容的div。进入这个div位于文本输入和跨度与日期。进入一个跨度我写了添加内容的日期。对于这个跨度,我使用Timeago插件每分钟更新当前时间的差异与添加。当我更新此内容时,jQuery不会选择新添加的元素。我应该做什么?这是代码: HTML代码:
<div id="content">
<input id="text" type="text" name="yourName"/>
<button type="button" onclick="changeContent();">Change</button>
<span class="timeago" title="2014-03-30 20:04"></span>
</div>
Javascript代码:
<script language="text/javascript">
function changeContent() {
var content = $('#content');
var value = $('#text').val();
var spanElm = $('span.timeago');
$.ajax({
url:'/ajax/change.php',
dataType: "json",
type: "POST",
cache: false,
data: {"text":value},
success: function (data) {
spanElm.remove();
content.append(data);
}
});
}
jQuery(function($) {
jQuery("span.timeago").timeago([]);
});
</script>
Ajax返回一个带有新日期的span元素。示例:<span class="timeago" title="2014-03-30 20:07"></span>
。
答案 0 :(得分:1)
在jQuery("span.timeago").timeago([]);
回调中使用此success
。
因为ajax本质上是异步的。
完整代码:
<script language="text/javascript">
function changeContent() {
var content = $('#content');
var value = $('#text').val();
var spanElm = $('span.timeago');
$.ajax({
url:'/ajax/change.php',
dataType: "json",
type: "POST",
cache: false,
data: {"text":value},
success: function (data) {
spanElm.remove();
content.append(data);
jQuery("span.timeago").timeago([]);
}
});
}
</script>