如果data属性包含值,是否有更快的方法来选择元素?

时间:2016-03-18 15:39:43

标签: jquery performance

在性能方面有更优选的方法吗?

示例HTML:

<input type="text" data-attr="ABC XYZ" />
<div data-attr="XYZ"></div>

示例jQuery:

var myValue = 'XYZ';
$('[data-attr*="' + myValue + '"]').hide();

为此更好地使用类吗?

2 个答案:

答案 0 :(得分:0)

您可以将选择器仅限制为input元素:

$('input[data-attr*="' + myValue + '"]').hide();

它减少了jQuery选择器必须在

上运行的表面区域

答案 1 :(得分:0)

在data-attr show / hide与class show / hide之间进行一些测试后, 1,000,000 迭代的差异大约为 20%。但是,在我的应用程序中,用户体验似乎并未受此影响。