两次发行。
如果另一个元素(B)为空,我需要隐藏一个元素,如果B中有元素,我需要显示A。
我需要对动态加载的元素执行此操作。
所以我尝试了:
$(document).ready(function() {
if ($('#mapDirections').html().trim()) {
$('#mapReset').hide();
}
else
{
$('#mapReset').show();
}
});
但这并没有起作用,我也不认为会起作用-我使用了委托和实时点击事件,但不确定如何将它们与我想做的事情结合使用。
希望您能够控制填充#mapDirections的JavaScript。您应该在数据到达后立即实现回调行为。
如果你没有这种控制,并且新数据是随机的,那么你需要确定一个时间间隔来轮询节点以获取新内容。
例如,假设onNewMapDirections()被调用以响应DOM中的某个事件:
function onNewMapDirections(newData) {
$('#mapDirections').html(newData);
//Add callback here
}
这可以通过在文档上绑定和触发自定义事件处理程序来轻松完成:
//Called when new directions are ready to add to DOM
function onNewMapDirections(newData) {
$('#mapDirections').html(newData);
$(document).trigger('checkMapDirections');
}
//Called in response to dispatched event
function onMapDirectionsUpdated(evt) {
if ($('#mapDirections').html().trim()) $('#mapReset').hide();
else $('#mapReset').show();
}
//Binds event
$(document).ready(function() {
$(document).bind('checkMapDirections', onMapDirectionsUpdated);
});
如果你不能在新的地图数据调用后立即嵌入回调,你仍然可以使用事件逻辑并实现一个定期调用的计时器
$(document).trigger('checkMapDirections');