任何人都可以告诉我这个表达式的css选择器:

时间:2015-07-30 07:35:09

标签: css-selectors

xpath = a [contains(text(),' dbfsbdj')]

我尝试过:contains(' dbfsbdj') - 但这是无效的?

1 个答案:

答案 0 :(得分:1)

您无法通过CSS的文本内容选择元素。

如果你想使用一些JavaScript,你可以这样做(jsfiddle):

var paragraphs = document.getElementsByTagName('p');

[].slice.call(paragraphs).forEach(function(p) {
    if(p.textContent.indexOf('World') > -1) {
        console.log(p);
    }
});

// => <p>World</p>

HTML:

<p>Hello</p>

<p>World</p>

然后你可以做一个像这样的小功能:

var paragraphs = document.getElementsByTagName('p');

console.log(contains(paragraphs, 'World')); // => [<p>World</p>]

function contains(_elements, text) {
    var elements = [];

    [].slice.call(_elements).forEach(function(p) {
        if(p.textContent.indexOf('World') > -1) {
            elements.push(p);
        }
    });   

    return elements; 
}