关于jquery clone的问题

问题描述

请问我下面代码执行后为什么不能达到预期效果。我希望克隆列表中的所有连接并把他们包装到一个div标签里。大家帮忙分析下,谢谢!jquery代码如下:$(function(){var copy = $('.myList li a').clone();copy.wrap($('#myDiv'));});html代码缩影:<div id="someDiv">This is a &lt;div&gt; with an id of <tt>someDiv</tt></div><div id="myDiv" title="myTitle1"><span>Hello</span></div><div title="myTitle2"><span>Goodbye</span></div><ul class="myList"> <li><a href="http://jquery.com">jQuery supports</a> <ul> <li><a href="css1">CSS1</a></li> <li><a href="css2">CSS2</a></li> <li><a href="css3">CSS3</a></li> <li>Basic XPath</li> </ul> </li> <li>jQuery also supports <ul> <li>Custom selectors</li> <li>Form selectors</li> </ul> </li></ul> 问题补充:winner720 写道

解决方案

wrap是包裹功能。(按照你的需求不该用wrap)详细信息见jquery文档返回值:jQuery wrap(elem) 概述把所有匹配的元素用其他元素的结构化标记包装起来。参数elemElement用于包装目标元素的DOM元素示例描述:用ID是"content"的div将每一个段落包裹起来HTML 代码:<p>Test Paragraph.</p><div id="content"></div>jQuery 代码:$("p").wrap(document.getElementById('content'));结果:<div id="content"><p>Test Paragraph.</p></div><div id="content"></div>
解决方案二:
copy.wrap($('#myDiv')); 改成:copy.appendTo("#myDiv"); 或者 $("#myDiv").append(copy);

时间: 2024-11-10 07:50:47

关于jquery clone的问题的相关文章

jQuery Clone Bug解决代码_jquery

首先,jQuery事件绑定的时候,所有事件用$.data()方法存储到了$.cache里面,用data('events')可以反复获取到它们: 复制代码 代码如下: var $div = $('div.demo'), data = $div.data(); // 获取所有绑定事件: var events = data.events; // 除了window对象绑定事件的比较特殊: var windowEvents = $(window).data('__events__'); 在必要的时候,可以

jquery clone()表格之后查找里边的元素

clone() 克隆匹配的DOM元素并且选中这些克隆的副本. 在想把DOM文档中元素的副本添加到其他位置时这个函数非常有用. 要做到动态添加表格,并且添加后修改表格中每一列的值,非常方便 js代码 $(function(){ var templateTr = $("#templateRow").clone();var firstTd = templateTr.find("td:eq(0)"); var secondTd = templateTr.find("

jquery的clone方法应用于textarea和select的bug修复_jquery

测试发现,textarea和select的jquery的clone方法有问题,textarea和select的值clone的时候会丢掉,发现这个是jquery的一个bug,上不了的可以看下代码,比较简单.就是在clone的时候将val再重新赋值一下,如果知道这个了,就简单了自己写. 引入到你要用的clone的页面就ok jquery.fix.clone.js (function (original) { jQuery.fn.clone = function () { var result = o

jquery克隆

所有类型节点都会有一个方法就是cloneNode,也就是克隆节点.克隆的操作也是我们常常需要使用的,本来就是一个很简单的接口,但是还是有一些细节问题需要处理. cloneNode不会复制javascript属性,比如事件,这个方法只会复制特性.当然IE有这个BUG它会复制事件处理程序.cloneNode(a)方法接受一个布尔值参数,表示是否深拷贝. true:表示执行深拷贝,复制本节点以及整个子节点树. false:浅拷贝,只复制节点本身. 复制后返回的节点副本属于文档所有,但是并没有父节点.除

jQuery构造函数init参数分析续

  其实楼主的F和jQuery.fn.init是相等的; 实现功能是和jq一样的, 只是jq的把构造函数放进原型;如果非要说原因,个人理解jq这样写整体结构清晰,先是入口构造函数,紧跟着是原型部分(原型里面init是初始化),但是不好理解;乍一看确实挺绕, 我也是看了好久才明白怎么回事 如果selector是其他字符串情况就比较多了比较复杂了 ? 1 2 // Handle HTML strings if ( typeof selector === "string" ) {...} 开

jQuery构造函数init参数分析续_jquery

如果selector是其他字符串情况就比较多了比较复杂了 // Handle HTML strings if ( typeof selector === "string" ) {...} 开始分不同的情况处理 // Are we dealing with HTML string or an ID? if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 )

jQuery技术内幕:深入解析jQuery架构设计与实现原理1

jQuery技术内幕:深入解析jQuery架构设计与实现原理 高 云 著 图书在版编目(CIP)数据 jQuery技术内幕:深入解析jQuery架构设计与实现原理 / 高云著. -北京:机械工业出版社,2013.11 ISBN 978-7-111-44082-6 I. j- II. 高- III. JAVA语言-程序设计 IV. TP312 中国版本图书馆CIP数据核字(2013)第221662号 版权所有·侵权必究 封底无防伪标均为盗版 本书法律顾问 北京市展达律师事务所     本书由阿里巴

jquery源码系列:append方法实现过程

no1: // Define a local copy of jQuery var jQuery = function( selector, context ) {// The jQuery object is actually just the init constructor 'enhanced'return new jQuery.fn.init( selector, context, rootjQuery );  //调用第二步init方法}, no2: jQuery.fn = jQuer

前端必备:jQuery 1.7.1API手册

本文基于jQuery1.7.1版本,是对官方API的整理和总结,完整的官方API见http://api.jquery.com/browser/ 0.总述 jQuery框架提供了很多方法,但大致上可以分为3大类:获取jQuery对象的方法.在jQuery对象间跳转的方法,以及获取jQuery对象后调用的方法 其中第一步是怎样获取jQuery对象.大致来说,是通过最核心的$()方法,将页面上的元素(或者在页面上不存在的html片段)包装成jQuery对象. $()方法里面支持的语法又包括3大类,分别