.chlidren()是获取某元素下所有子元素,
阳城网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联建站自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
ss=$("ul").children(".item-a,.item-b,.item-c,.item-d");是指定class名获取子元素.
实际上你这class组织比较不好控制,建议相同子级使用相同class名,这样比较好遍历.
区别子级下的具体元素可以用 id=class+"-?"来做.
query获取子元素的方法有2种,分别是children()方法和find()方法。下面我们分别来使用这两种方法,看看它们有何差异。
children()方法:获取该元素下的直接子集元素
find()方法:获取该元素下的所有子集元素
分别以以下HTML代码为例:ullilist1ullilist1-1/lililist1-2/li/ul/lililist2ullilist2-1/lililist2-2/li/ul/lililist3ullilist3-1/lililist3-2/li/ul/li/ul
children()方法获取ul下面直接子集元素li:$("ul").children("li")
需要注意的是,如果li元素下还有li元素,children方法将不会被获取。我们可以用length来测试获取的个数“$("ul").children("li").length”,最后输出结果为3
find()方法获取ul下所有元素li:$("ul").find("li")
需要注意的是,find方法会无限循环查找ul标签节点下的li,一直找到没有为止,用length来测试获取个数“$("ul").find("li").length”,最后输出结果为9
children和find的区别:children只会查找直接子集,而find会跨越层级查找,一直找到没有为止。
Jquery获取层级元素的方法有2种,分别是children()方法和find()方法。
1.children()方法:获取该元素下的直接子集元素
2.find()方法:获取该元素下的所有子集元素
3.children()方法获取ul下面直接子集元素li:$("ul").children("li")
4.find()方法获取ul下所有元素li:$("ul").find("li")
5.children和find的区别:children只会查找直接子集,而find会跨越层级查找,一直找到没有为止。
#36;("#ul li").not(":first").remove();
(1):first
举:#36;('div.one:first'),获取所有class="one"的Div的第一个div子元素。这里的限制在于父子元素都是同一种,即父元素如果是span标签,获取的第一个子元素也是span标签,如果父元素是table标签,获取的子元素也是table标签。
(2):first-child
如:#36;('div.one:first-child'),获取所有class="one"的Div的第一个子元素,注意是“所有”,意思是说,如果这个DIV有多外,那么获取的第一个子元素也是有多个。
ul id="ul_list"
li id="li1"/li
li id="li2"/li
li id="li3"/li
/ul
$("#ul_list li[id!='li2']").html();
结果:
li id="li1"/li
li id="li3"/li
也可以直接选取li节点
$("li[id!='li2']").html();
结果是一样的
可以多看一下 jQuery 的API文档,有中文的,这些选择器的基本操作资料很全的
你提问时,应该将你的需求功能列出来,这样避免回答的人走弯路
你的 this 用错了,它是一个document对象,取它属性 id 的值代进去就可以了
$(function() {
$("#u_menuli").mouseover(function() {
$(this).css({ "background-image": "url(images/cq_04.jpg)", "color": "#ffffff" });
$("#u_menu li[id!='" + $(this).attr("id") + "']").css({ "background-image": "url(images/cq_05.jpg)", "color": "#000" });
})
})
不过你这样的做法很奇怪,在 将鼠标移动选中的的当前项的样式改变外,其他非选中的也改变样式?
只“高亮”当前选中项,其他项就普通样式显示不就行了?
可以考虑用length属性, jquery代码: $(“#ulname li”).length。
1、ul 是 Unordered List(无序列表)的缩写。与之相对的有ol有序列表标签,列表里的项目用li标签记述,所有主流浏览器都支持 ul 标签。在 HTML 4.01 中,ul 元素的 "compact" 和 "type" 属性是不被赞成使用的。
2、li 是列表项目标签,定义列表项目。li 标签支持全局属性,li 标签支持所有 HTML 事件属性。在 HTML 4.01 中,li 元素的 "type" 和 "value" 属性是不被赞成使用的。在 XHTML 1.0 Strict DTD 中,li 元素的 "type" 和 "value" 属性是不被支持的。
3、ul和li常规方法:
li {background: url(/images/icon.gif) no-repeat 0px 50%; padding-left:17px;}
4、复杂方法:
ul {list-style:none;}
li{background: url(/images/icon.gif) no-repeat 0px 50%; padding-left:17px;}
可以解决上面的浏览器不兼容的问题。首先,清除默认的项目符号,然后加上我们自己的背景图片。no-repeat告诉浏览器不要平铺这张图片,0px 50%告诉背景图片应该位于距左侧0px 且竖直方向位于顶部往下50%处,实际上就是在竖直方向居中。我们在左侧加上了17px的边距,这样那些15px宽5像素高的小图标就能完全显露出来,不会被文本遮挡,并且和文本之间有一点间隔。
5、简单方法
ul{list-style-image:url(/images/icon.gif);}
这种方法不同的浏览器的显示效果会有一些差异,主要是在图片的垂直位置上。有些浏览器会使图片和列表项文本的中部位置平齐,有的又会显示得高一些,总之就是有些不一致。