2017-01-29 152 views
0

我正在嘗試使用jQuery來掃描頁面並查找包含對指定關鍵字的任何引用的每個最內層元素。目前,我使用下面的代碼搜索的元素:jQuery:查找包含字符串的所有元素,包括屬性值

$(':contains('+currentKeyword+'):not(:has(:contains('+currentKeyword+')))'); 

這對於包含關鍵字的文本元素的偉大工程,但這種方法並沒有考慮每個關鍵字的搜索時的屬性。我希望它選擇每個具有包含currentKeyword的屬性的元素,以便它不會錯過具有alt屬性和鏈接等的圖像。我怎樣才能做到這一點,而不使代碼太雜亂?

回答

0

使用filter

function findKeyword() { 
    return $(this).html().indexOf(currentKeyword) !== -1; 
} 

$('*').filter(findKeyword).filter(function() { 
    return !$(this).children().filter(findKeyword).length; 
} 
相關問題