查找元素是否包含带id的元素

时间:2017-07-25 10:08:09

标签: angular jasmine

如何查找元素是否包含具有指定ID的元素?

<div class="menu">
  <div id="signin">Sign in</div>
</div>

我正在查询查询长度,但认为可能有更好的方法:

it('Main menu has signin link if not signed in', () => {
    fixture.detectChanges();
    let links = menuElemDebug.queryAll(By.css('#signin-button'));
    expect(links.length).toBe(1);
})

2 个答案:

答案 0 :(得分:0)

尝试一下简单的css选择:

let links = menuElemDebug.queryAll(By.css('.menu> #signin'));

但是如果你要追踪一个带有id的元素,我猜它已经被唯一识别了。

答案 1 :(得分:-1)

if(('#signin').parentNode==('.menu'))
  {
   }

我希望它有所帮助。如果这不起作用,请告诉我。

另一种方法是

var parent = document.querySelector('.menu'),
child = document.querySelector('#signin');
if (parent.contains(child)) {
// .. it's a child}
相关问题