2012-02-09 68 views
4

選擇我有這樣的HTML,jQuery的 - 如何通過屬性

<a id="a_1" href="#" disabled_onclick="true">Link1</a> 
<a id="a_2" href="#">Link2</a> 
<a id="a_3" href="#" disabled_onclick="true">Link3</a> 
<input id="b_1" type="submit" disabled_onclick="true">Button1</input> 
<input id="b_2" type="submit">Button2</input> 
<input id="b_3" type="submit">Button3</input> 

現在我需要寫一個jQuery返回我的所有屬性在具有disabled_onclick屬性設置爲true我的HTML。在這種情況下,我應該得到3個元素,兩個鏈接標籤和一個輸入標籤。

+0

可能重複:如何查詢與自定義命名空間的屬性](http://stackoverflow.com/questions/91518/jquery-attribute-selectors-how-to-query-for-an-attribute-with-a-custom-namespac) – 2012-02-09 11:31:43

+0

你爲什麼要關閉標記 – 2012-02-09 11:33:18

+0

@ dku.rajkumar:那是一個錯字 – bragboy 2012-02-09 11:35:27

回答

9

Here的如何選擇所有這些元素:

$('[disabled_onclick="true"]'); 

由於true is a valid unquoted attribute value in CSS,你甚至可以omit the quotes

$('[disabled_onclick=true]'); 

如果你關心有效的HTML,你應該考慮使用自定義的data-*屬性。

<input id="b_1" type="submit" disabled_onclick="true"> 
<!-- …becomes… --> 
<input id="b_1" type="submit" data-disabled-onclick="true"> 

這樣,它是有效的HTML,你仍然可以選擇它,如下所示:

$('[data-disabled-onclick="true"]'); 
的[jQuery的屬性選擇
1
$('input[disabled_onclick="true"]'); 

http://api.jquery.com/attribute-equals-selector/

在上面的線,你只查詢input nodes,則可以省略input然後將查詢到所有節點在整個標記(這可能是一種緩慢的」 ISH)。

$('[disabled_onclick="true"]'); 
4

試試這個

$('[disabled_onclick="true"]') 
+0

請注意downvote的原因... – 2012-02-09 11:38:11

+0

+1 ..謝謝你的回答 – bragboy 2012-02-09 12:40:08

+0

你永遠是歡迎Booosssss .. :) – 2012-02-14 03:01:28