Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何用B替换元素A,并使B对象在变量中?_Javascript_Jquery_Dom_Selection - Fatal编程技术网

Javascript 如何用B替换元素A,并使B对象在变量中?

Javascript 如何用B替换元素A,并使B对象在变量中?,javascript,jquery,dom,selection,Javascript,Jquery,Dom,Selection,我有这样的想法: jQuery(this_element).replaceWith('<div>' + jQuery(this_element).html() + '</div>'); jQuery(this_元素).replace为(“”+jQuery(this_元素).html()+“”); 它工作正常,但在执行后,此\u元素仍然包含旧元素(该元素已不存在,因为它已被旧内容替换)。如何恢复该元素中的选择,或者至少将新元素抓取到该元素变量中?分别创建新对象,然后保留

我有这样的想法:

jQuery(this_element).replaceWith('<div>' + jQuery(this_element).html() + '</div>');
jQuery(this_元素).replace为(“”+jQuery(this_元素).html()+“”);

它工作正常,但在执行
后,此\u元素仍然包含旧元素(该元素已不存在,因为它已被
旧内容替换)。如何恢复该元素中的选择,或者至少将新元素抓取到该元素变量中?

分别创建新对象,然后保留对该对象的引用(jQuery 1.4+):

var$B=jQuery(“”,{'html':jQuery(this_元素).html()});
jQuery(这个元素);
这个元素=$B;
(这将使用该方法。)

Great:)我问题的第二部分的答案是:
var savedSel=rangy.saveSelection();替换元素。。。rangy.restoreSelection(savedSel)使用Rangy选择库的位置-(即使元素已被另一个元素替换,也可以正常工作)。
var $B = jQuery('<div/>', { 'html': jQuery(this_element).html() });
jQuery(this_element).replaceWith($B);
this_element = $B;