2011-06-13 54 views
-1

我查詢的偉大工程,但後來我檢查它在IE瀏覽器,這是一個災難。我想知道它是否是代碼的父代部分。父母正試圖達到含有信息的第一個<table>。有沒有更簡單的方法直接進入桌子?爲什麼查詢在IE中失敗的唯一

<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> 

回答

1

除非你提供你的標記(至少是一個虛擬的標記),否則你都會猜到你會得到。

  1. 而不是.parent().parent().parent().parent().parent().parent().parent().prepend(newSubnav);檢查是否可以使用.parents()。這將使您的父母一路返回到HTML。你甚至可以使用選擇器作爲父母(選擇器)來過濾。閱讀更多關於jquery api頁面。

  2. 既然你使用jQuery,您可以使用$("ul")代替document.createElement("ul")

相關問題