我整天都试着像我需要的那样重新订购这个菜单,但我是jquery的新手。 我想做的是:
在这个菜单的最后一个td.top里面有3个ul.sub li,我希望每个都从那里提取,它的内容放在td.top里。
然后在内容中有一个div和一个链接,我需要切换位置,链接必须在div之前(就像在其他td.top内部一样)
基本上我尝试制作3 ul.sub。 li相同(添加相同的类,具有相同的结构等,就像td.top的其余部分一样)
我该怎么做? 我很感激任何提示..
这是我到目前为止使用的代码:
$("ul.sub a.more_top_element").removeClass('button more_top_element').addClass("top_link").removeAttr('style').removeAttr('value');
$("ul.sub div").removeClass('more_sub').addClass("sub");
..在这里我应该有代码来提取3 ul.sub li中的内容并用div切换链接,然后将其包装在td.top中。
这是我需要用jquery修改的html:
<table class="topMenu" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="top">
<a href="http://localhost/d7t/m/photos/home/" class="top_link"><span class="down bx-def-padding-sec-leftright">Photos</span>
<!--[if gte IE 7]><!-->
</a>
<!--<![endif]-->
<div class="sub">
<!--[if lte IE 6]><table id="mmm"><tr><td><![endif]-->
<ul class="sub main_elements">
<li>
<a href="http://localhost/d7t/m/photos/home/" target="_self" class="button more_ntop_element">Home</a>
</li>
<li>
<a href="http://localhost/d7t/m/photos/albums/browse/all" target="_self" class="button more_ntop_element">Albums</a>
</li>
<li>
<a href="http://localhost/d7t/m/photos/browse/all" target="_self" class="button more_ntop_element">Recent</a>
</li>
<li>
<a href="http://localhost/d7t/m/photos/browse/top" target="_self" class="button more_ntop_element">Top</a>
</li>
<li>
<a href="http://localhost/d7t/m/photos/browse/popular" target="_self" class="button more_ntop_element">Popular</a>
</li>
<li>
<a href="http://localhost/d7t/m/photos/browse/featured" target="_self" class="button more_ntop_element">Featured</a>
</li>
<li>
<a href="http://localhost/d7t/m/photos/tags" target="_self" class="button more_ntop_element">Tags</a>
</li>
<li>
<a href="http://localhost/d7t/m/photos/categories" target="_self" class="button more_ntop_element">Categories</a>
</li>
<li>
<a href="http://localhost/d7t/m/photos/rate" target="_self" class="button more_ntop_element">Rater</a>
</li>
<li>
<a href="http://localhost/d7t/m/photos/calendar" target="_self" class="button more_ntop_element">Calendar</a>
</li>
<li>
<a href="http://localhost/d7t/searchKeyword.php?type=bx_photos" target="_self" class="button more_ntop_element">Search</a>
</li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</div>
</td>
<td class="top">
<a href="http://localhost/d7t/m/poll/&action=poll_home" class="top_link"><span class="down bx-def-padding-sec-leftright">Polls</span>
<!--[if gte IE 7]><!-->
</a>
<!--<![endif]-->
<div class="sub">
<!--[if lte IE 6]><table id="mmm"><tr><td><![endif]-->
<ul class="sub main_elements">
<li>
<a href="http://localhost/d7t/m/poll/&action=poll_home" target="_self" class="button more_ntop_element">Polls Home</a>
</li>
<li>
<a href="http://localhost/d7t/m/poll/" target="_self" class="button more_ntop_element">All Polls</a>
</li>
<li>
<a href="http://localhost/d7t/m/poll/&action=popular" target="_self" class="button more_ntop_element">Popular</a>
</li>
<li>
<a href="http://localhost/d7t/m/poll/&action=featured" target="_self" class="button more_ntop_element">Featured</a>
</li>
<li>
<a href="http://localhost/d7t/m/poll/calendar" target="_self" class="button more_ntop_element">Calendar</a>
</li>
<li>
<a href="http://localhost/d7t/searchKeyword.php?type=poll" target="_self" class="button more_ntop_element">Search</a>
</li>
<li>
<a href="http://localhost/d7t/m/poll/tags" target="_self" class="button more_ntop_element">Tags</a>
</li>
<li>
<a href="http://localhost/d7t/m/poll/categories" target="_self" class="button more_ntop_element">Categories</a>
</li>
</ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</div>
</td>
<td class="top">
<a href="javascript: void(0);" onclick="void(0);" class="top_link">
<span class="down bx-def-padding-sec-leftright">More</span>
<!--[if gte IE 7]><!-->
</a>
<!--<![endif]-->
<!--[if lte IE 6]><table id="mmm"><tr><td><![endif]-->
<div style="position:relative;display:block;">
<ul class="sub">
<li class="">
<div class="sub">
<ul class="sub main_elements">
<li>
<a href="http://localhost/d7t/m/sites/home/" target="_self" class="button more_ntop_element">Sites Home</a>
</li>
<li>
<a href="http://localhost/d7t/m/sites/browse/all" target="_self" class="button more_ntop_element">All Sites</a>
</li>
<li>
<a href="http://localhost/d7t/m/sites/browse/admin" target="_self" class="button more_ntop_element">Admin Sites</a>
</li>
<li>
<a href="http://localhost/d7t/m/sites/browse/users" target="_self" class="button more_ntop_element">User Sites</a>
</li>
<li>
<a href="http://localhost/d7t/m/sites/browse/top" target="_self" class="button more_ntop_element">Top Rated</a>
</li>
<li>
<a href="http://localhost/d7t/m/sites/browse/popular" target="_self" class="button more_ntop_element">Popular</a>
</li>
<li>
<a href="http://localhost/d7t/m/sites/browse/featured" target="_self" class="button more_ntop_element">Featured</a>
</li>
<li>
<a href="http://localhost/d7t/m/sites/tags" target="_self" class="button more_ntop_element">Tags</a>
</li>
<li>
<a href="http://localhost/d7t/m/sites/categories" target="_self" class="button more_ntop_element">Categories</a>
</li>
<li>
<a href="http://localhost/d7t/m/sites/calendar" target="_self" class="button more_ntop_element">Calendar</a>
</li>
<li>
<a href="http://localhost/d7t/m/sites/search" target="_self" class="button more_ntop_element">Search</a>
</li>
</ul>
</div>
<a href="http://localhost/d7t/m/sites/home/" class="top_link">Sites</a>
<div class="clear_both sub">
</div>
</li>
<li class="">
<div class="sub">
<ul class="sub main_elements">
<li>
<a href="http://localhost/d7t/m/sounds/home/" target="_self" class="button more_ntop_element">Sounds home</a>
</li>
<li>
<a href="http://localhost/d7t/m/sounds/albums/browse/all" target="_self" class="button more_ntop_element">Sound albums</a>
</li>
<li>
<a href="http://localhost/d7t/m/sounds/browse/all" target="_self" class="button more_ntop_element">All Sounds</a>
</li>
<li>
<a href="http://localhost/d7t/m/sounds/browse/top" target="_self" class="button more_ntop_element">Top Sounds</a>
</li>
<li>
<a href="http://localhost/d7t/m/sounds/browse/popular" target="_self" class="button more_ntop_element">Popular Sounds</a>
</li>
<li>
<a href="http://localhost/d7t/m/sounds/browse/featured" target="_self" class="button more_ntop_element">Featured Sounds</a>
</li>
<li>
<a href="http://localhost/d7t/m/sounds/tags" target="_self" class="button more_ntop_element">Tags</a>
</li>
<li>
<a href="http://localhost/d7t/m/sounds/categories" target="_self" class="button more_ntop_element">Categories</a>
</li>
<li>
<a href="http://localhost/d7t/m/sounds/rate" target="_self" class="button more_ntop_element">Rater</a>
</li>
<li>
<a href="http://localhost/d7t/m/sounds/calendar" target="_self" class="button more_ntop_element">Calendar</a>
</li>
<li>
<a href="http://localhost/d7t/searchKeyword.php?type=bx_sounds" target="_self" class="button more_ntop_element">Search</a>
</li>
</ul>
</div>
<a href="http://localhost/d7t/m/sounds/home/" class="top_link">Sounds</a>
<div class="clear_both sub">
</div>
</li>
<li class="">
<div class="sub">
<ul class="sub main_elements">
<li>
<a href="http://localhost/d7t/m/store/home/" target="_self" class="button more_ntop_element">Store Home</a>
</li>
<li>
<a href="http://localhost/d7t/m/store/browse/recent" target="_self" class="button more_ntop_element">Recent</a>
</li>
<li>
<a href="http://localhost/d7t/m/store/browse/top" target="_self" class="button more_ntop_element">Top Rated</a>
</li>
<li>
<a href="http://localhost/d7t/m/store/browse/popular" target="_self" class="button more_ntop_element">Popular</a>
</li>
<li>
<a href="http://localhost/d7t/m/store/browse/featured" target="_self" class="button more_ntop_element">Featured</a>
</li>
<li>
<a href="http://localhost/d7t/m/store/browse/free" target="_self" class="button more_ntop_element">Free</a>
</li>
<li>
<a href="http://localhost/d7t/m/store/tags" target="_self" class="button more_ntop_element">Tags</a>
</li>
<li>
<a href="http://localhost/d7t/m/store/categories" target="_self" class="button more_ntop_element">Categories</a>
</li>
<li>
<a href="http://localhost/d7t/m/store/calendar" target="_self" class="button more_ntop_element">Calendar</a>
</li>
<li>
<a href="http://localhost/d7t/m/store/search" target="_self" class="button more_ntop_element">Search</a>
</li>
</ul>
</div>
<a href="http://localhost/d7t/m/store/home/" class="top_link">Store</a>
<div class="clear_both sub">
</div>
</li>
<li class="li_last_round"> </li>
</ul>
</div>
<div class="clear_both">
</div>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</td>
</tr>
</tbody>
</table>
答案 0 :(得分:1)
这是一个很多问题,不仅仅是一个问题,而且可能不太适合stackoverflow。
您想要选择上一个顶级的td。这应该使用last-child选择器完成:
$( "table.topMenu td.top:last-child" ) // you won't use this, just showing the hierarchy
然后,在这个td中,你想要用class sub选择每个div。
$( "table.topMenu td.top:last-child div.sub" )
那应该选择你想要的div的所有内容。然后你需要在同一部分中选择链接的内容,如下所示:
$( "table.topMenu td.top:last-child a.top_link" )
您应该将它们存储到javascript对象中,如下所示:
var divs = $( "table.topMenu td.top:last-child div.sub" ).remove();
var links = $( "table.topMenu td.top:last-child a.top_link" ).remove();
这些行将从DOM中删除它们,但保存jQuery对象供以后使用(注意,由于这些选择器将获得多个DOM元素,因此它们是jQuery对象,而不是此时的DOM元素)。然后,您应该能够根据需要使用适当的选择器附加它们。您可能还想打电话:
$( "table.topMenu td.top:last-child" ).remove();
以及清理DOM。