根据http://api.jquery.com/category/selectors/,我们可以在jQuery中使用大量的CSS选择器,但是例如:nth-last-child()在那里没有提到.但是,当我测试以下内容时(使用jQuery 1.7.1来自Google),它实际上适用于Firefox,Chrome和IE 9,但不适用于IE 8中的IE 8仿真模式:
$('li:nth-last-child(2)').css('color', 'red');
Run Code Online (Sandbox Code Playgroud)
那么发生了什么?它看起来好像是jQuery生成的CSS代码,li:nth-last-child(2) { color: red }并以某种方式注入它,然后在支持所用选择器的浏览器上正常工作.但这很奇怪.
最重要的是,是否有一些技巧可以让jQuery在所有浏览器上支持这样的选择器?
<div>Some reallllly
realllyyy long text</div>
Run Code Online (Sandbox Code Playgroud)
Some reallllly realllyyy long text由于HTML删除了换行符,因此将呈现为。
但由于换行符,我找不到div使用:contains()CSS选择器的代码:
// Returns an empty array
$(':contains("Some reallllly realllyyy long text")');
Run Code Online (Sandbox Code Playgroud)
有没有办法选择div并忽略换行符?
注意:我不想在选择器中添加换行符,我希望能够在div不知道换行符的情况下进行选择(因为我使用的是用户可以看到的文本,而他看不到越线)