我正在尝试使用jQuery扫描页面并查找包含对指定关键字的任何引用的每个最内层元素。目前,我使用以下代码搜索元素:
$(':contains('+currentKeyword+'):not(:has(:contains('+currentKeyword+')))');
这适用于包含关键字的文本的元素,但此方法在搜索时不考虑每个关键字的属性。我希望它选择具有包含currentKeyword属性的每个元素,这样它就不会错过具有alt属性和链接的图像等等。如何在不使代码过于混乱的情况下实现这一目标?
答案 0 :(得分:0)
使用filter
function findKeyword() {
return $(this).html().indexOf(currentKeyword) !== -1;
}
$('*').filter(findKeyword).filter(function () {
return !$(this).children().filter(findKeyword).length;
}