2016-07-25 82 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,它適用於指定寬度的任何元素。

請注意,這隻適用於內聯樣式。

相關問題