2011-08-30 53 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

相关问题