2016-07-25 70 views
0

有一个包含多个td元素的网站。我需要一种方法来点击td元素中的所有href链接,如果它匹配某种样式的话。Javascript/JQuery:如何在​​元素中选择具有特定样式的链接

这里是TD元素通常看起来像

<td style="font-size: 12px; text-align: center; font-weight: bold;"><a class="theclass" href="https://youtube.com" target="_blank">Link</a></td> 

是否有人可以帮助指导我如何做到这正常吗?我尝试了一个if语句来查看td样式是否匹配"font-size: 12px; text-align: center; font-weight: bold;",但它根本不起作用。

编辑:这不是我的网站。对不起,我没有包括这个。

+0

为什么不给每个设计一个独特的类? – torus

+0

@linus因为这不是我的网站。这对我来说会更容易些。 – Weakman10122

+1

如何根据样式选择项目,请选中此项。 http://stackoverflow.com/questions/442048/how-do-you-select-elements-based-on-their-style –

回答

2

这听起来像你将不得不做一个Javascript循环。

function clickCertainStyles() { 
    $('td').each(function(i, td) { 
    var $td = $(td); 
    if ($td.css('font-size') == '12px' && $td.css('text-align') == 'center') 
     $td.find('a').trigger('click') 
    }) 
} 

如果您传递一个表容器,那么您可以使其更快,因此您不会为每个TD引用搜索整个页面。

+0

嗯,这有效,但你不必这样做......可能。一些CSS样式值可以用作选择器。 – BobRodes

+0

取决于页面上有多少链接,使用'$(“a”)。closest(“td”)。each()'可能会更快,特别是如果链接有一些可区分的类可以添加到选择。 – nnnnnn

0

这将选择上述td元素:

$('td[style*="font-weight:bold"]') 

你有什么可行,什么不可行的实验。我尝试了像width: 100px这样的东西,它不会工作;据推测,任何具有像素值的东西在某种程度上都是模棱两可的。但是,如果我仅使用width,它适用于指定宽度的任何元素。

请注意,这只适用于内联样式。

相关问题