有沒有辦法讓/選擇一個元素通過它的屬性值,只是因爲它是可能的屬性值:jQuery的獲取/按屬性值選擇元素
$('[attribute="value"]')
例如,我會成立使用jQuery這樣的特性:
$('#foo').prop('my-property', 'value');
,然後我想找到具有財產'my-property'
的元素,它的價值'value'
。
有沒有辦法讓/選擇一個元素通過它的屬性值,只是因爲它是可能的屬性值:jQuery的獲取/按屬性值選擇元素
$('[attribute="value"]')
例如,我會成立使用jQuery這樣的特性:
$('#foo').prop('my-property', 'value');
,然後我想找到具有財產'my-property'
的元素,它的價值'value'
。
不,沒有任何暴露在選擇器級別的東西可以通過屬性值來選擇,只是(如您所知)屬性值。
一些屬性是屬性的反射,這意味着設置屬性設置屬性,它允許您使用屬性選擇器。例如,一個input
元素的defaultValue
屬性反映了它的value
屬性(它的value
屬性沒有)。
否則,您可以選擇您所能做的,並使用filter
將結果列表篩選爲您實際需要的元素。
回覆您的編輯:
例如,我會使用jQuery這樣設置屬性:
$('#foo').prop('my-property', 'value');
沒有,直接沒有辦法通過屬性來選擇,你'd需要像我上面的filter
建議:
var list = $("something-that-gets-you-close").filter(function() {
return this["my-property"] == "value";
});
你mi GHT考慮使用data-*
屬性代替:
$("#foo").attr("data-my-property", "value");
然後
var list = $("[data-my-property='value']");
以選擇它(內引號是可選的用於匹配CSS identifier的定義的值)。請注意,屬性值始終是字符串。
請注意:jQuery的data
函數是data-*
屬性的簡單訪問器,這是一個持續的誤解。不是這樣。它通過jQuery管理與元素相關聯的數據高速緩存,這是初始化從data-*
屬性,但與它們斷開連接。特別是,.data("my-property", "value")
不會讓你稍後通過[data-my-property=value]
選擇器找到。
謝謝你這麼徹底的答案!其實這也是我在互聯網上搜索它後認爲我自己。無論如何,現在它也在SO上。 –
任何特定的屬性? –
你的意思是像一個輸入值? – Zeph
任何特定元素? – MCMXCII