2013-01-23 54 views
-1

我試圖在IE中找到表格單元格的colspan,但只有colspan不是1的地方。這是我正在使用的選擇器,但是在那裏必須是更好的方法。我怎樣才能做到這一點?最佳jquery css選擇器在IE中查找表的colspan

if (isIE) { 
    selector = "> tbody > tr > td[colspan*='0'],> tbody > tr > td[colspan*='11'],> tbody > tr > td [colspan*='2'],> tbody > tr > td[colspan*='3'],> tbody > tr > td[colspan*='4'],> tbody > tr >  td[colspan*='5'],> tbody > tr > td[colspan*='6'],> tbody > tr > td[colspan*='7'],> tbody > tr  > td[colspan*='8'],> tbody > tr > td[colspan*='9']" 
    isSpanned = $(tbl).find(selector).length > 0; 
} 

回答

0
[attributename*="val"] 

這個選擇代表具有值中包含子串「VAL」中的至少一個實例的「的AttributeName」屬性的元素。 Wiki

看你的代碼,我看到你正在尋找如果<td>有屬性colspan,所以像這樣做:

selector = "table tr td[colspan]" 

table沒有colspan屬性,只有thtd

編輯

看看這個link,也許這會解決你的問題。

比如你可以怎麼做:

$("table tr td").each(function(i) { 
    isSpanned = this.colSpan > 1 ?true:false; 
}); 
+0

IE總是返回對於TD合併單元格,即使你不specified..ie我的問題。所以我寫的this..Any其他方式找到如果表中有合併單元格TD – GkDaGk

+0

看看更新。 – Morpheus

0

這聽起來像你要找的表格單元格colspan組到任何東西,但1,因此,所有你真正需要的是jQuery中的attribute-not-equal selector

selector = '> tbody > tr > td[colspan!="1"]' 

如果您希望在非IE瀏覽器中工作,並非每個td都有colspan,則可以使用td[colspan][colspan!="1"]來強制設置colspan屬性。

測試上的jsfiddle:http://jsfiddle.net/jmorgan123/69qw9/