2011-06-15 64 views
1

我想找到網頁中的所有元素,其CSS屬性爲「font」,其中一個值爲「700,800,900,加粗,更大膽」。我如何使用jQuery來做到這一點?使用jQuery查找具有特定CSS屬性值的匹配集合的所有元素?

<a href="http://google.com" style="font:bold;">Google</a> 
<p style="font:bolder;">Test</p> 
<div style="font:700;">Test</div> 
+0

如果您有權訪問,您可能需要考慮爲這些元素提供一個自定義類,您可以通過$('。myclass')輕鬆訪問這些類。 – namuol 2011-06-15 19:00:22

回答

2

這應該做到這一點:

var elements = $("*").filter(function() { 
    var options = ["700", "800", "900", "bold", "bolder"]; 
    return $.inArray($(this).css('font-weight'), options) > -1; 
}); 

現在你可以操縱你的元素列表:

elements.css('background', '#f00'); // Highlights all elements with red bg. 

jQuery documentation爲你如何的例子可以操縱你的DOM。

+0

我該如何處理這些元素,例如追加一些文字或添加屬性? – Teiv 2011-06-15 17:55:50

+0

更新我的示例以說明DOM的操作。 – namuol 2011-06-15 18:58:46

+0

非常感謝。我在那裏做了一個快速測試: http://www.heypasteit.com/clip/ZNM 。我預計2「跨度」將附加一些新的文字,但他們不會。你能告訴我什麼是問題嗎? – Teiv 2011-06-15 19:08:45

2

你可以這樣做:

$("*").filter(function() { 
    return $(this).css("font-weight") == "bolder" || 
      $(this).css("font-weight") == "bold" || ... ; 
}); 
+0

我該如何爲這些元素做些事情,例如追加一些文本或添加一個屬性? – Teiv 2011-06-15 17:43:51

相關問題