用jquery来获取<ul>下面的的除了某个<li>的其他<li>

我现在的情况是$("#ul_list li[id!='li2']").html();这里的li2是变的,看代码:
$(function() {
$("#u_menu>li").mouseover(function() {
$(this).css({ "background-image": "url(images/cq_04.jpg)", "color": "#ffffff" });
$("#u_menu li[id!=" + this + "]").css({ "background-image": "url(images/cq_05.jpg)", "color": "#000" });
})
})
这样不对哦,我是是鼠标经过的li的background-image和color跟其他的不一样

<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_menu>li").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" });
})
})

不过你这样的做法很奇怪,在 将鼠标移动选中的的当前项的样式改变外,其他非选中的也改变样式?
只“高亮”当前选中项,其他项就普通样式显示不就行了?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-06-16
你可以先把所有的背景都蛇者为#000
再把this的设置为#fff