css中li:not(p)是什么意思?
这个目前不要用..你只要知道就行了.这个是CSS3的语法.目前浏览器还没有兼容到那个地步.... 它表示不包括p元素的li元素.. 如果你学jquery的话就会经常用到这种语法了.... 就象我们平时有a:hover这样的用法..当经过a的时候发生变化.但是用li:hover的时候.只有在ff中起作用.而ie6就没有用...
jquery怎么获得动态添加后的子元素个数?
实现思路:使用jQuery的length属性获取对象中元素的数目,$(selector).length。实例演示如下:1、HTML结构:设置id为test的ul下有4个列表元素
Glen
Tane
John
2、jquery代码:点击列表后获取li数量$(function(){ $("#test").click(function() { alert($("#test li").length); // 获取id为test的ul下的li元素的数量 });});jquery树形菜单例子?
jQuery树形菜单可以通过递归的方式实现,使用ul和li标签来表示菜单的层级结构。通过jQuery的事件绑定和CSS样式设置,可以实现菜单的展开和收起、选中和取消等功能。同时,可以通过Ajax请求或者JSON数据来动态生成菜单的内容。最终实现一个美观、简洁、易用的树形菜单。
怎么在idea里直接预览一个jsp页面,而不需要启动tomcat?
1、jtree是基于jquery插件的,所以我们必须先引入jquery脚本库。
2、然后我们需要在jsp页面里先引入jtree的脚本文件,还有对应的样式文件。
3、在html里,我们在一个div里,创建一个ul控件,并用li来创建树结点数据,一个li就是一个树结点了。当然这些数据可以是jsp的后台数据,循环显示出来,只要html结构一样就行了。
4、如果需要子结点的,我们就在li标签里,再嵌套一个ul列表就行了,结构同样和外层的一样。
5、最后,我们在页面加载完成的函数里,初始化这个树控件就行了,直接调用jtree方法。
6、运行页面,我们就可以看到一棵树控件了。
js获取当前点击的
事件委托,原生js;伪代码:点击ul后清空ul下所有li的类名(使其所有元素不可见); 获取被点击的dom节点li(event.target);改变被点击的元素类名(使其可见); 解释:利用addEventListener给最上级元素绑定点击事件;点击后触发匿名函数,清除除了当前点击的节点外所有的子元素类名(可使用event.target获取当前被点击的dom节点)(清除其他类名可用jquery的类选择器以及jquery的removeClass函数);给当前点击的元素赋予新的类名,改变样式。
Jquery对象合并后index值为什么没有变化?
$.extend是把两个对象合并,前提是两个对象里面的key不一样,比如下面这个$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"})合并以后就是{name:"Jerry",age:21,sex:"Boy"}。
你现在的做法是将两个jquery容器对象进行合并,我测试了一下你的代码,合并的时候会把第二个对象$(‘right’)与第一个合并,合并的原则应该是后面的替换前面的,所以用了你现在的方法以后all其实相当于是$('right')这个对象。因此只能出发right里面li对应的鼠标事件。
根据你的描述index值没有发生变化,应该是已经合并成功了吧!假如你现在合并成功会有一个问题,left和right里面的li索引(index)都是根据父对象进行排序的,你合并之后肯定还是两个对象,所以索引还是跟以前一样。
通过下面这个方法可以把所有left和right的li取出来,但是索引同样还是跟之前一样,同理li依然按照父容器进行索引排序。
如果纯粹要把right里面的li放到left里面,可以用append方法(给对象添加子对象)。你可以通过$("#left").append($("#right").children())把right的子对象放到left里面,这是页面呈现的时候right里面的li会进入left里面,而right将变成一个空容器。
所有的li都在left里面index的值才会重新排列。