2011-08-30 65 views
1

我想要的風格,做在他們的輸入標籤的一些表格單元格。我有一個jsFiddle set up,所以歡迎您在那裏做出改變。jQuery的:選擇TD沒有一個具體的元素

正如你所看到的,頂行有同樣受着啓用jQuery的CSS的輸入,所以我的選擇是不完全正確。

其他地方在我的地盤我使用這個:

$('#content p a:not([href^="http"])').addClass("internalLink");

到(成功)找到我的文字的內部鏈接,所以我基礎上,該表格單元選擇,但我不明白我要去哪裏錯了...

感謝任何人的幫助!

回答

1

在這裏你去

工作demo

$('#hostingInfo tr').filter(function(){ 
    return $(this).find("input").length == 0; 
}).find("td").css('text-align', 'right'); 
+0

謝謝,尚卡爾。這確實有效。你能解釋一下這個功能在做什麼嗎?我所得到的(我有限的經驗)是「看看 s並找到長度爲0的輸入」。我知道的並不完全正確。什麼是正確的閱讀方式? – marky

+0

他的方法是尋找在hostingInfo的標籤爲字符串「輸入」,如果它沒有找到,返回,使過濾器返回true,並觸發.find()調用,將定位搜索和內部​​的設置他們的CSS樣式。我不認爲這是你想要的,因爲輸入的標籤在該行包含輸入時不會被右對齊(即使它不同於​​)。 – CashIsClay

+0

感謝您的解釋,Artsemis。 – marky

1

試試這個:

$('#hostingInfo td').not(':has(input)').css('text-align', 'right'); 

您可以使用not()方法來選擇不滿足jQuery中的選擇器的所有內容。

+0

@Shankar,Artsemis和ivnatod:所有這三個工作的,我敢肯定有一些其他的方式來做到這一點爲好。 jQuery真棒,但是,男人有一百萬種方法來做同樣的事情!不幸的是,我只能選擇一個答案,所以我選擇了第一個最短的解決方案(對不起,尚卡爾!):) – marky