如何根据包含特定单词的属性选择元素

时间:2018-03-16 01:01:17

标签: javascript image selector alt

我试图从像这样的突变中找到一个img:

this

问题是,当图像有多个alt值时,它没有被检测到。它仅在图像包含" Text"只有这样#"演示文字"。

我想定位像这样的图像:

import Component from '@ember/component';
import { computed } from '@ember-decorators/object';

export default class TheComponent extends Component {
  styleNamespace: string;
  status: string;

  @computed('styleNamespace', 'status')
  get statusClass() {
    return `${this.styleNamespace}--${this.status}`;
  }
}

var image = mutation.parentElement.querySelector('img[alt="Text"]');

1 个答案:

答案 0 :(得分:2)

您在选择器中缺少代字号:

querySelector('img[alt~="Text"]')

如果提供的值是该属性中包含的以空格分隔的值列表之一,则波浪号表示它将与元素匹配。因此,上述内容将与<img alt="alt Text here" />匹配,但不会与<img alt="TextA" />匹配。如果您确实希望匹配第二种情况中的子字符串,[attr*=val]是可行的方法 - https://developer.mozilla.org/en-US/docs/Learn/CSS/Introduction_to_CSS/Attribute_selectors