如何通过使用angular查找innerhtml值来获取最接近的元素?

时间:2017-04-11 16:19:04

标签: javascript jquery html angularjs

我很难通过使用值找到父元素。

这里我将整个html节点存储在一个变量中。

$scope.mail_html = "<asd>My best friend is Mickey.</asd>Who is your favourite:<das class="sdfsdfsdf">Goofy</das>";

我需要找到内部HTML值“Goofy”的最接近元素;

输出应为<das class="sdfsdfsdf">;

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

使用angular.element将html放入dom之外的临时div中,并遍历那里的所有元素。

不确定一旦找到什么目标

var mail_html = '<asd><span>My best friend is Mickey.</span></asd>Who is your favourite:<das class="sdfsdfsdf">Goofy</das>';

var $div = angular.element('<div>').append(mail_html),
  els = $div[0].querySelectorAll('*'),
  term = 'Goofy',
  target;
for (var i = 0; i < els.length; i++) {
  if (els[i].textContent.indexOf(term) > -1) {
    target = els[i]
  }
}
if (target) {  
  console.log( target)
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>