Mat*_*oli 3 html css jquery jquery-selectors
<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不知道换行符的情况下进行选择(因为我使用的是用户可以看到的文本,而他看不到越线)
您可以做的就是覆盖:contains选择器:
$.expr[":"].contains = $.expr.createPseudo(function(arg) {
return function( elem ) {
return $(elem).text().replace(/(\n)+/g, " ").indexOf(arg) >= 0;
};
});
Run Code Online (Sandbox Code Playgroud)
看到这个小提琴
使用这种解决方案,您无需更改代码中的任何内容,而只需添加这段代码。但这不是一个好习惯。
当然,您可以用其他方式命名此选择器。在这种情况下,您可以使用两种行为:
$.expr[":"].mycontains
查看其他提琴
| 归档时间: |
|
| 查看次数: |
627 次 |
| 最近记录: |