已采纳回答 / C0EEC3F7BBAA
你第一次点击的时候取出.div里的三个li并加上新的p添加到div.right里,此时.right里有三个li一个p第二次点的时候你把三个li取出,此时.right里只剩一个p(暂且取名‘次新p’),你再用三个li加一个新p添加到.right中时是添加到次新p的下面,就造成了你所看到的现像,其实最下面的p和三个li才是新添加的,上面的是以前的
2016-08-04
已采纳回答 / 劫盎
wrapInner()是指将其内部的每个元素包裹(元素内部包裹)<p> <div>p1</div></p><p> <div>p2</div></p>wrap()指将其匹配的元素集合中的每个元素包裹(元素外部包裹)<div> <p>p1</p></div></div> <p>p2</p></div&g...
2016-08-02
已采纳回答 / 慕粉3713024
$("li:last",".left").css("border","1px solid blue"); <=> $(".left").find("li:last").css("border","1px solid blue");
2016-08-02
已采纳回答 / qq_救救我吧_1
程序员都懒,如果一直重复同样的工作,在很多地方都会用到重复的代码,就会想是不是可以把一些共同的代码单独提取出来,经过进一步的改造,让它可以放之四海而皆准,去解决绝大部分的重复代码编写工作。jquery就是用JS写的,方便编程的一个方法集合。
2016-07-29
已采纳回答 / 奔驰的大葱
加了 wrapInner() 后 <p><div>p元素</div><p> <a><div>a元素</div><a> p和a本身是没有大小和宽度的概念的,p是文本标签,a是链接标签,不是块级标签,不是div table之类的, 所谓的大小和宽度也是根据里面的子元素来定的,除非在css里强制设置显示模块为块级,一般写css不会这样去写
2016-07-29
已采纳回答 / 慕斯9627782
确实是【查找所有class为div的元素,在这些div的最后一个子元素加样式】,但是要明确的是,div的子元素是ul,,所以$('.div').children获取的是 level-1、level-2、level-3,最后一个子元素是level-3,所以最后只有level-3有样式。
2016-07-29
最赞回答 / 田展帆
if (!$("p").length) return; if语句接收一个布尔值,如果布尔值为true则执行接下来的语句,布尔值为false则执行else关键词后的语句。JavaScript语言有个特点”隐式转换”:在需要布尔值会将其他类型自动往布尔值转换$("p").length本来返回的是number类型的0,但被自动转化为布尔值false了。前面也说了,如果IF语句接收到布尔值false就会执行else关键词后的语句,这里没有写else后的语句。所老师把在前面加了个!,这个东西时一个叫“逻辑非”的操作...
2016-07-29
已采纳回答 / Miss_lv
在触发DOM上的事件都会产生一个对象,即事件对象(也称event对象),这里用e接收事件对象。事件对象有很多属性和方法,此处的target属性是获取事件目标,即p元素DOM对象,然后获取其相应的属性
2016-07-28
已采纳回答 / 健C
$('.left').find('li:eq(1)').css('border','1px solid red')$('.div').children().eq(1).css('border', '3px solid red')
2016-07-26
已采纳回答 / qq_CY____0
这个是在parents()这个方法里面加了一个类选择器,表示在这个标签的祖父元素集合里面筛选出来带有'first-div'这个类的祖父级元素,并给它加上一定的样式。
2016-07-21