横向和替换类
Transversing & replacing classes
我希望替换父(li.filetabs
)元素的子元素(ul
)的类名。我所做的似乎很正确,但显然不是因为该类没有被替换。
使用JSFIDDLE更新Jsfiddle的注意事项:当您单击一次时,一切正常,再次单击相同的导航选项卡,您会看到下拉列表消失并重新出现...
var aFileTabs = $('.filetabs');
var curTab = $(this);
// this seems to give correct output
var prevCurTab = $('.cTabActive').parent(); //(i.e. *jQuery(li.filetabs)* )
// the following line is the problem line; Ive tried replacing the children with
// $('ul',prevCurTab)... but that doesnt work either... I must be doing something
// very basic wrong
$(prevCurTab).children().removeClass('cTabActive').addClass('cPrevTabActive');
$('ul', curTab).addClass ('cTabActive');
编辑:抱歉,我忘记了HTML,还有更多,所以只有前两个导航按钮html被显示出来,以获得含义。
<div id="filemenu"> <!-- right tabs menu -->
<ul id="fm_ul">
<li class="filetabs">File
<ul>
<li class="m_items"><a href="#"><span class="aHeading">New</span><span class="shortcutK">Ctrl-U</span></a></li>
<li class="m_items"><a href="#"><span class="aHeading">Open</span><span class="shortcutK">Ctrl-Z</span></a></li>
<li class="m_items"><a href="#"><span class="aHeading">Save</span><span class="shortcutK">Ctrl-T</span></a></li>
<li class="m_items"><a href="#"><span class="aHeading">Exit</span><span class="shortcutK">Ctrl-Q</span></a></li>
</ul></li><li class="filetabs">Edit
<ul>
<li class="m_items"><a href="#"><span class="aHeading">Undo</span><span class="shortcutK">Ctrl-M</span></a></li>
<li class="m_items"><a href="#"><span class="aHeading">Redo</span><span class="shortcutK">Ctrl-S</span></a></li>
<li class="m_items"><a href="#"><span class="aHeading">Zoom In</span><span class="shortcutK">Ctrl-R</span></a></li>
<li class="m_items"><a href="#"><span class="aHeading">Zoom Out</span><span class="shortcutK">Ctrl-Q</span></a></li>
</ul></li>
我不确定我是否得到这个,但请尝试:
$('.filetabs').on('click', function() {
var aFileTabs = $('.filetabs'),
curTab = $(this),
prevCurTab = $('.cTabActive').parent();
$('.cTabActive').removeClass('cTabActive').addClass('cPrevTabActive');
$('ul', curTab).removeClass('cPrevTabActive').addClass ('cTabActive');
});
小提琴
在这篇单独的帖子中回答。 谢谢丹尼尔。
Jquery - 在一个简单的下拉菜单中操作类
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 我如何找到一个句子中的所有空格并替换忽略它们
- 如何用更合适的内容替换document.write
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 用空格替换下划线PHP
- str.split(someString).join(someOtherString)是否等效于替换
- 使用javascript的图像替换循环
- window.location替换并传递URL历史记录条目中的变量
- 替换标记中的属性
- 指令的模板必须只有一个根元素:With restrict E&替换true
- AngularJs对ng消息的自定义替换
- 用超链接替换URLS
- 用cdata标记替换脚本标记
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 在javascript中,I'我很难弄清楚如何让regex只替换捕获而不替换匹配
- 替换url中变量的值
- 我希望在不替换现有变量的情况下恢复localStorage中的变量
- Wordpress:替换源(域名)链接
- 横向和替换类