我正在尝试使用.replaceWith将DOM中的ID带回来,即使我之前已经使用包含iframe的div替换了它。
我知道有人会建议切换,显示,隐藏,但我不想因为javascript滑块同时存在潜在视频而将每个div加载到彼此之上,这对于移动浏览来说可能会变得很难看。
我正在使用“完成”链接的点击事件,该链接将用户带回到他们开始的javascript幻灯片(滑块包装器)。
在.replaceWith。
之后,不能将#strip-wrapper ID从死里复活我显然已经尝试过:
$('a.back').live('click', function(evt) {
slider = $('#slider-wrapper')
$('div.item-container').replaceWith(slider);
evt.preventDefault();
..和许多其他技巧但它不想在第一个.replaceWith
之后回来旁注
safari没有'听到'.replaceWIth的第二次点击事件,但firefox确实
非常感谢任何帮助!
$(window).load(function () {
$('a.link').live('click', function(evt) {
item = $('<div class="item-container"><iframe></iframe><a class="back">Done</a></div>');
$('#slider-wrapper').replaceWith(item);
evt.preventDefault();
});
$('a.back').live('click', function(evt) {
$('div.item-container').replaceWith($('#slider-wrapper'));
evt.preventDefault();
});
});
答案 0 :(得分:1)
replaceWith
会从DOM中移除$('#slider-wrapper')
,因此当点击“完成”时,您不能简单地选择它,因为您已将其删除。
您必须隐藏它,将其存储在其他位置或重新创建它。
toggle
非常适合这样的事情......你为什么要使用replaceWith?
以下是使用toggle
,after
,next
和remove
的示例:http://jsfiddle.net/QxyDf/