我的查询效果很好,但后来我在IE上查看它,这是一场灾难。我想知道它是否是代码的父部分。父母正试图到达包含信息的第一个<table>
。是否有更简单的方法直接进入桌面?
<script>
if ($('b:contains("Choose a sub category:")').length > 0) {
var newSubnav = document.createElement( 'ul' );
$(newSubnav).addClass("sub_categories_holder");
$('b:contains("Choose a sub category:")').parent().parent().parent().parent().parent().parent().parent().prepend( newSubnav );
$('a.subcategory_link').appendTo($('ul.sub_categories_holder'));
$('a.subcategory_link').wrap("<li class='sub_categories'></li>");
$('li.sub_categories').before("<li class='sub_categories_divider'></li>");
$("li.sub_categories_divider:eq(0)").remove();
$("b:contains('Choose a sub category:')").parent().parent().parent().parent().parent().remove();
$("img[src='/v/vspfiles/templates/GFAR NEW NAV/images/Bullet_SubCategory.gif']").remove();
$("td.colors_backgroundneutral").css("background-color","transparent");
$("td.colors_backgroundneutral").children(':first-child').attr("cellpadding","0");
};
</script>
答案 0 :(得分:1)
除非你提供你的标记(至少是假的标记),否则它都会猜到你会得到它。
而不是.parent().parent().parent().parent().parent().parent().parent().prepend( newSubnav );
检查您是否可以使用.parents()
。这将使父母一直回到HTML。您甚至可以使用选择器作为父级(选择器)进行过滤。阅读jquery api页面上的更多内容。
由于您使用的是jQuery,因此可以使用$("ul")
代替document.createElement("ul")