繁体   English   中英

jQuery过滤器选择器,对吗?

[英]jQuery filter selector, is this right?

似乎工作正常,但我不知道是否可以改善这一点。

我想选择具有edit-text-NUM或edit-html-NUM类的任何HTML标记,并更改其颜色。 这是我正在使用的...

jQuery(document).ready(function(){
    jQuery('*')
    .filter(function() {
        return this.className.match(/edit-(text|html)-\d/);
    })
    .css({
        'color': '#ff0000'
    });
});

看起来还可以,正则表达式也可以吗?

*编辑:这也是有效的吗? 我知道,如果页面很大,使用jQuery('*')可能会有点麻烦。 它只需要从<body>向下工作,那么也许可以更改它?

您可以使用:

$("[class^='edit-text-'], [class^='edit-html-']")

请注意,这并不完全相同。 例如,如果您有多个班级,它将不起作用。

如果您对性能保持谨慎,则更好的解决方案是向所有元素添加另一个类:

<em class="edit-text-44 edit-text">

然后,您可以简单地使用:

$(".edit-text, .edit-html")
jQuery(document).ready(function(){ 
jQuery('body *') 
.filter(function() { 
    return this.className.match(/edit-(text|html)-\d/); 
}) 
.css({ 
    'color': '#ff0000' 
}); 

});

应该将其限制在文档正文中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM