說我有這樣的內容:查找與有名稱的特定屬性的所有元素開始與一些字符串
<h1 data-myapp-title>Title</h1>
<p data-myapp-description>Description</p>
我怎麼可能以與「數據myapp- *」屬性名進行篩選jQuery的?
說我有這樣的內容:查找與有名稱的特定屬性的所有元素開始與一些字符串
<h1 data-myapp-title>Title</h1>
<p data-myapp-description>Description</p>
我怎麼可能以與「數據myapp- *」屬性名進行篩選jQuery的?
不是防彈的,但這應該讓你關閉。我做了它的選擇,使之更容易一點,但是這是總的前提:
(function($){
$.expr[':']['attr'] = function(obj,index,meta,stack){
var re = new RegExp(meta[3]), m = false;
for (var a = 0; a < obj.attributes.length; a++){
m |= re.test(obj.attributes[a].name);
}
return m;
};
})(jQuery);
$(':attr(data-myapp-*)').css('color','#f0f');
我無法表達這一點 - 沒有經過徹底或嚴格的測試。如果它接近半生產,我會通過鈴聲運行。另外,我無法想象對每個元素的屬性進行迭代,並且應用測試的效率很高,所以我確定其他具有編輯能力的人可以添加價值0.02美元的優化。 –
我打算將它用於服務器端的NodeJS預處理需求,因此對我來說性能並不那麼重要。感謝您的解決方案! –
你的意思是像'$('[數據MYAPP標題],[數據myapp-描述]')'還是比指定固定屬性名稱更靈活? –
我想如果可能的話使用正則表達式,所以最後可以是任何字符串,而不是某些集合。 –
你是什麼意思使用正則表達式?作爲屬性選擇器? –