我试图从像这样的突变中找到一个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"]');
答案 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