jQuery:查找包含字符串的所有元素,包括属性值

时间:2017-01-29 20:22:24

标签: jquery

我正在尝试使用jQuery扫描页面并查找包含对指定关键字的任何引用的每个最内层元素。目前,我使用以下代码搜索元素:

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

这适用于包含关键字的文本的元素,但此方法在搜索时不考虑每个关键字的属性。我希望它选择具有包含currentKeyword属性的每个元素,这样它就不会错过具有alt属性和链接的图像等等。如何在不使代码过于混乱的情况下实现这一目标?

1 个答案:

答案 0 :(得分:0)

使用filter

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

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