2012-04-19 78 views
3

剛剛編輯: 我有一個奇怪的問題與jQuery函數。我的功能適用於每個瀏覽器上的小jsFiddle example:http://jsfiddle.net/Ksb2W/72/
但如果我想將該功能集成到我的html頁面中,它不適用於Google Chrome和IE8。在Firefox上效果很好。將jQuery功能集成到html頁面

+0

請在這裏添加您的功能碼妥善解決 – 2012-04-19 09:19:45

+1

更正:請發表一個簡短的自我包含例如您的問題在這裏,爲妥善解決。 – spender 2012-04-19 09:20:58

+0

@burebistaruler:如果這些鏈接變得陳舊,這個問題也會......考慮在你的問題的主體中提供與問題相關的所有內容。 – spender 2012-04-19 09:24:26

回答

3

從我所看到的情況來看,您的點擊並未突出顯示正確的行,因爲您的實際網站上的表格在您的示例中有不同的佈局。

在此示例中,您的行映射爲1:1。

在現場直播你的第二個表有兩個額外的行:

<tr class="navigation"> ... 
<tr class="headers"> ... 

這顯然打破了您的訂單爲基礎的匹配。

由於您的示例與您的現場網站不同,因此您的懸停已中斷。

在你的榜樣,你有:

$(".table").each(function(){   
    $("tr:eq("+row+")",this).addClass("hoverx"); 
}); 

,但是,從現場直播中​​您有:

$("table.grid tbody tr").each(function(){   
     $("tr:eq("+row+")",this).addClass("hoverx"); 
}); 

注意你是如何遍歷排在第二種情況下。

編輯

我想用tbody到組交互行是一個很好的解決你的第二個表具有其他行的問題。你也可以簡化您的JavaScript有點結果:

Example with second table having more rows

每請求下面是使用not的解決方案將是什麼樣子。注意你幾乎必須在你選擇tr的地方過濾它。

Example using not and making the minimum amount of changes to the original code

+0

hmmmmm是的,你有權利。可以忽略那個tr(導航,頭文件)?或者,也許使用這個功能,我已經 – BurebistaRuler 2012-04-19 12:03:27

+0

@burebistaruler你可以在你的選擇器中排除它們:'$('tr')。not('。navigation,.headers')。eq(row)'。或者你可以像你說的那樣格式化你的HTML,並把所有可選擇的行放入他們自己的'tbody'中。 – Henry 2012-04-19 12:06:42

+0

@burebistaruler我在編輯中提供了一個使用'not'的例子。不幸的是,我現在沒有時間清理這個例子,但希望其背後的想法很明確。 – Henry 2012-04-19 12:43:46