来自 CSS 和 jQuery 的意外结果
Unexpected result from CSS and jQuery
我想做的是在每个第一级锚标签"这是主菜单而不是子菜单 #menuCont"之后放置"|"的内容,但排除最后一个孩子。尝试使用 CSS 执行此操作,然后我得到了意想不到的结果,然后尝试使用 jQuery,我得到了另一个意想不到的结果。
主页菜单 HTML
<div id="menuCont">
<ul>
<li>
<a href="">About</a>
<ul>
<li><a href="root/vision.html">Vision</a></li>
<li><a href="">Mission</a></li>
<li><a href="">Values</a></li>
</ul>
</li>
<li><a href="">News</a></li>
<li><a href="root/gallery.html">Gallery</a></li>
<li><a href="">Activities</a></li>
<li><a href="">Facilities</a></li>
<li><a href="">Students</a></li>
<li><a href="">Staff</a></li>
<li><a href="">Contact info</a></li>
</ul>
</div>
另一个页面菜单 HTML
<div id="menuCont">
<ul>
<li><a href="">Home</a></li>
<li>
<a href="">Static pages</a>
<ul>
<li><a href="">Homepage</a></li>
<li><a href="">Vision</a></li>
<li><a href="">Mission</a></li>
<li><a href="">Values</a></li>
<li><a href="">Contact info</a></li>
</ul>
</li>
<li>
<a href="root/gallery.html">Dynamic pages</a>
<ul>
<li><a href="">News</a></li>
<li><a href="">Gallery</a></li>
<li><a href="">Videos</a></li>
</ul>
</li>
<li>
<a href="">Administration</a>
<ul>
<li><a href="">Create accounts</a></li>
<li><a href="">Edit accounts</a></li>
<li><a href="">Assign Students</a></li>
<li><a href="">Assign teachers</a></li>
</ul>
</li>
</ul>
</div>
CSS 控件 CSS approch
#menuCont ul li a:after {content:"|"; font-size:30px; color:#FFF !important; font-weight:bold; color:#044c9e; margin:15px 5px;}
#menuCont ul li a:last-child:after {content:"" !important;}
CSS Approch for jQuery
#menuCont ul li a.conAfter:after {content:"|"; font-size:30px; color:#FFF !important; font-weight:bold; color:#044c9e; margin:15px 5px;}
j查询代码
$("#menuCont").children().children().children("a:not(:last-child)").addClass("conAfter")
反映 CSS 应用程序的意外结果:
"主页"
从 Ie = 它只是选择所有锚标签并将内容添加到其中,完全忽略我要求从最后一个孩子中删除内容的地方。从 ff,gc,sf,Op = 我从他们那里得到相同的结果,即他们只选择第一个孩子并将内容添加到其中。
"另一页"
从 Ie = 它只是选择所有锚标签并将内容添加到其中,完全忽略我要求从最后一个孩子中删除内容的地方。-这是不同的-从ff,gc,sf,Op =我从所有这些元素中得到相同的结果,他们将内容添加到除第一个锚标记之外的所有元素中。
反映 jQuery 应用程序的意外结果:
"主页"
从 Ie,Ff,Gc,Sf,Op = 我从所有这些中得到相同的结果,即他们只选择第一个孩子并将内容添加到其中。
"另一页"
从 Ie,ff,Gc,Sf,Op = 我从所有这些元素中得到相同的结果,他们将内容添加到除第一个锚标签之外的所有元素中。
谢谢大家。
多亏了@charlietfl我才设法达到了中立状态。
我将强调解决方案,以防有人带着同样的问题到达该帖子。
为了只获得第一级子级,我需要使用 CSS 子选择器">"从祖先到父级再到子级开始,如果你明白我的意思,这将给我一个准确而具体的选择。
另一个问题我没有注意到我正在调用锚标签的最后一个子标签,而不是调用锚标签本身<>,通过调用
然而,IE8 不理解这一行,但所有其他浏览器都让它安静下来。祝大家好运!
如果使用>
将仅表示儿童
#menuCont > ul > li >a:after {content:"|";padding:0 10px; color:red;font-weight:bold ; }
#menuCont > ul> li:last-child >a:after {content:"" !important;}
另请注意查找最后一个子<li>
的<a>
演示
我看到的几件事是,如果您有白色背景,颜色会使链接不可见,但下划线需要文本:装饰:无;
这是你要做的吗?
http://jsfiddle.net/MV2dn/2/
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- Javascript:函数返回意外结果
- 意外结果,在 ASP.Net 中解析 JSON 对象的数组
- 按位或意外结果
- 来自 JavaScript 循环的意外结果
- 从 JavaScript 中的图像中读取像素数据会返回半透明像素的意外结果
- 在 JS 中短路空数组会产生意外结果:“[] ||真 == []'
- NodeJS中的Parse Json文件在Node中显示意外结果
- 基于给出意外结果的提示输入的逻辑
- JavaScript Regexp.test返回意外结果
- 键控产生意外结果.HTML5游戏
- Javascript do/while循环显示意外结果
- 来自 CSS 和 jQuery 的意外结果
- MongoDB mapReduce方法意外结果
- 具有意外结果的 Javascript 函数参数
- 在 JavaScript 中解析日期字符串的意外结果
- 从内部HTML更改为表单时获得意外结果,输入类型文本字段
- 在计算链逻辑表达式 JavaScript 时出现意外结果
- 意外结果 - 谷歌自动完成针对约克郡
- JavaScript unshift 参数返回意外结果